计蒜客 神秘数 题解C++

    技术2022-07-10  145

    计蒜客 神秘数 题解

    题目思路代码题目来源 Author : MaHone

    题目

    令 Kn=1+(10^4) + 10^8 +…+10^(4*n-4) ,其中 nn 为正整数。

    给定 n,求 Kn,并且判断是否为质数。 输入格式 一个整数 n (1≤n≤1000)。

    输出格式 第一行输出 Kn,第二行根据 Kn是否为质数输出"yes"或者"no"。 样例输入

    2

    样例输出

    10001 no

    思路

    首先注意n是从1到1000,所以Kn非常大不可能是数据类型,就考虑用string用string类型之后就看题目的规律: /* a=1时 Kn=1,输出no a=2时 Kn=10001,输出no a=2时 Kn=100010001,输出no */ 通过上述规律可以发现:n每次增1,Kn字符串前面每次增“1000”,并且始终是素数。

    代码

    #include<bits/stdc++.h> using namespace std; int main() { int n; scanf("%d",&n); string str="1"; for(int i=1;i<=(4*n-4);i+=4) str="1000"+str; cout<<str<<endl<<"no"<<endl; return 0; }

    题目来源

    题目来源: link

    Processed: 0.009, SQL: 9