1087 有多少不同的值 (20分)
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)
输入格式:
输入给出一个正整数N(2≤N≤104)输入给出一个正整数 N(2≤N≤10^{4} )输入给出一个正整数N(2≤N≤104)。
输出格式:
在一行中输出题面中算式取到的不同值的个数。
输入样例:
2017
输出样例:.
1480
直接空间换时间,把10410^{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;
}
本文探讨了一个数学问题,当自然数n从1递增到N时,算式⌊n/2⌋+⌊n/3⌋+⌊n/5⌋有多少个不同的值。通过直接空间换时间的策略,使用C语言实现了一种无脑暴力求解的方法,最终输出了不同值的个数。
1607

被折叠的 条评论
为什么被折叠?



