CODE[VS] 3040 中国余数定理 1
题目描述 Description
摘自算法导论。。。。。。
找出第k个被3,5,7除的时候,余数为2,3,2的数;
输入描述 Input Description
一个数k。
输出描述 Output Description
求出第k个符合条件的数。
样例输入 Sample Input
1
样例输出 Sample Output
23
数据范围及提示 Data Size & Hint
k>=1;
答案不超过long long所能存储的范围。
典型的数论题。
看起来很高级的样子。。。
我也以为挺简单的,显示青铜难度。。
所以就模拟了一下。
代码如下:
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 using namespace std; 7 8 long long k,t=1,i=23; 9 10 int main() 11 { 12 scanf("%lld",&k); 13 if(k==1) 14 { 15 printf("23"); 16 return 0; 17 } 18 while(t!=k) 19 { 20 i+=105; 21 if(i%3==2&&i%5==3&&i%7==2) 22 t++; 23 if(t==k) break; 24 } 25 printf("%lld",i); 26 return 0; 27 }
我这也算是找了找规律了。。
最后一个点10的十几次方吧,,,很明显会T。。。
其实做的时候就应该注意到这个玩意儿。
hhhh,,
其实正解跟我那没差,(思路没差)。
就是又找了个规律(找了两个,我只找了一个)。
把循环次数确定了,
所以比较快。
ac代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 using namespace std; 7 8 long long k,t=23; 9 10 int main() 11 { 12 scanf("%lld",&k); 13 for(int i=1;i<k;++i) 14 t+=105; 15 printf("%lld",t); 16 return 0; 17 }
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,跟个zz一样看着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。
时间时间会给你答案2333