1087 有多少不同的值 (20分)
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)
输入格式:
输
入
给
出
一
个
正
整
数
N
(
2
≤
N
≤
1
0
4
)
输入给出一个正整数 N(2≤N≤10^{4} )
输入给出一个正整数N(2≤N≤104)。
输出格式:
在一行中输出题面中算式取到的不同值的个数。
输入样例:
2017
输出样例:.
1480
直接空间换时间,把 1 0 4 10^{4} 104带入得到一个数组的上限最大值,然后模拟一遍,最后看一下有多少个数,直接无脑暴力求解,下面上代码:
#include<stdio.h>
int main(void)
{
static int a[11000];
int n;
int i,s = 0;
scanf("%d",&n);
for ( i = 1;i <= n;i++)
{
a[(int)(i / 2.0) + (int)(i / 3.0) + (int)(i / 5.0)] = 1;
}
for (i = 0;i < 11000;i++)
{
s += a[i];
}
printf("%d",s);
return 0;
}