趣味程序设计_爱因斯坦的数学题(中剩)

时间:2022-09-20 09:55:51
问题 L: 趣味程序设计_爱因斯坦的数学题
时间限制: 1 Sec 内存限制: 128 MB
提交: 2984 解决: 1054
[提交][状态][讨论版]
题目描述

爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1到N内,有多少个数能满足?
输入

每一行只有一个n;
输出

输出满足条件的个数。每个答案一行。
样例输入
1999999
样例输出
9524
提示

记录这一题的原因不是因为它是一道暴力水题,而是因为它是一个中国剩余定理,可以用数学公式AC的
代码现在查不到了,以后复习到数论再拿出来推导一次(都复习数论了还写这水题-_-!)

//暴力,没什么好说的
#include<stdio.h>
void cal(int n)
{
int count=0;
for(int i=7;i<=n;i+=14)
{
if((i%3==2)&&(i%5==4)&&(i%2==1))
{
//printf("%d %d %d\n",i,i%3,i%5);
count++;
}
}
printf("%d\n",count);
}
int main(void)
{
int n;
while(~scanf("%d",&n)) cal(n);
return 0;
}