• 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
  • 相关阅读:
    “做”的“累”
    举国默哀三天
    AjaxRequest
    客户端表单验证js
    书籍下载链接
    Html元素动态添加方法
    java文件读写操作
    查看oracle当前session
    转一篇有关Java的内存泄露的文章(受益哦)
    《高效能人士的七个习惯》摘录
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9173349.html
Copyright © 2020-2023  润新知