PAT(Basic Level) Practice : 1087 有多少不同的值 (20分)

1087 有多少不同的值 (20分)

测试点3段错误

n=10000时,结果为10333
建立大数组的时候要大于这个数

代码

#include <iostream>
#include <vector>
#include <string>
#include <cstdio>
//scanf printf防止超时
#include <algorithm>
//vector的sort
#include <sstream>
//转换
using namespace std;

#include<iomanip>
//精度

#include<cmath>
//round四舍五入取整
#include <map>

int num[11000]={0};

int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        double temp=i;
        int n1=temp/2;
        int n2=temp/3;
        int n3=temp/5;
        int res=n1+n2+n3;
        num[res]++;
    }

    int count=0;
    for(int i=0;i<11000;i++)
    {
        if(num[i]>0)
        {
            count++;
        }
    }
    cout<<count<<endl;

    return 0;
}

posted @ 2020-10-01 01:52  韩天尊  阅读(115)  评论(0)    收藏  举报