首页 > 其他 > 详细

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

时间:2020-08-08 18:18:26      阅读:93      评论:0      收藏:0      [点我收藏+]

题目

当自然数 n 依次取 1、2、3、……、N 时,算式 ?n/2?+?n/3?+?n/5? 有多少个不同的值?(注:?x? 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)

输入格式

输入给出一个正整数 N(2≤N≤10^4)。

输出格式

在一行中输出题面中算式取到的不同值的个数。

输入样例

2017

输出样例

1480

解析

  count表示不同数个数,用数组s标记某个数是否出现过,若a没有出现过(s[a] == 0),则令s[a] = 1,count ++,

答案

#include<iostream>
#include<iostream>

using namespace std;

int s[100001];
int main(){
    int N,count = 0;
    cin >> N;
    for(int i = 1 ; i <= N ; i ++){
        int a = i / 2 + i / 3 + i / 5;
        if(!s[a]){
            s[a] = 1;
            count ++;
        }
    }
    cout << count << endl;
}

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

原文:https://www.cnblogs.com/xm2000/p/13458016.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!