题目描述
37397就是一个质中质数,它也是一个质数
我们去掉最右边的那个数,留下的部分是3739,它依然是个一个质数
我们再去掉最右边的那个数,留下的部分是373,它仍然是个一个质数
我们再去掉最右边的那个数,留下的部分是37,它居然是个一个质数
我们再再去掉最右边的那个数,留下的部分是3,它好像还是一个质数
当它只剩下最后1位我们就不能再去了,再去一下就没有了
请你帮忙求出所有n位的只因数
输入格式
一行一个正整数 n。
输出格式
按顺序输出长度为 n 的质中质,每行一个。
输入输出样例
输入 #1
5
输出 #1
23333 23339 23399 23993 29399 31193 31379 37337 37339 37397 59393 59399 71933 73331 73939
输入 #2
4
输出 #2
2333 2339 2393 2399 2939 3119 3137 3733 3739 3793 3797 5939 7193 7331 7333 7393
说明/提示
【数据范围】 对于 100%100% 的数据,1≤n≤81≤n≤8。
打表出奇迹!!!!!!!!!!!
#include<bits/stdc++.h>//非作死人员请勿尝逝
using namespace std;
const int N=20;
int n1[N]={2,3,5,7};
int n2[N]={23,29,31,37,53,59,71,73,79};
int n3[N]={233,239,293,311,313,317,373,379,593,599,719,733,739,797};
int n4[N]={2333,2339,2393,2399,2939,3119,3137,3733,3739,3793,3797,5939,7193,7331,7333,7393};
int n5[N]={23333,23339,23399,23993,29399,31193,31379,37337,37339,37397,59393,59399,71933,73331,73939};
int n6[N]={233993,239933,293999,373379,373393,593933,593993,719333,739391,739393,739397,739399};
int n7[N]={2339933,2399333,2939999,3733799,5939333,7393913,7393931,7393933};
int n8[N]={23399339,29399999,37337999,59393339,73939133};
int c1=4,c2=9,c3=14,c4=16,c5=15,c6=12,c7=8,c8=5,n;
int main()
{
cin>>n;
switch(n)
{
case 1:
for(int i=0;i<c1;i++)
{
cout<<n1[i]<<endl;
}
break;
case 2:
for(int i=0;i<c2;i++)
{
cout<<n2[i]<<endl;
}
break;
case 3:
for(int i=0;i<c3;i++)
{
cout<<n3[i]<<endl;
}
break;
case 4:
for(int i=0;i<c4;i++)
{
cout<<n4[i]<<endl;
}
break;
case 5:
for(int i=0;i<c5;i++)
{
cout<<n5[i]<<endl;
}
break;
case 6:
for(int i=0;i<c6;i++)
{
cout<<n6[i]<<endl;
}
break;
case 7:
for(int i=0;i<c7;i++)
{
cout<<n7[i]<<endl;
}
break;
default:
for(int i=0;i<c8;i++)
{
cout<<n1[i]<<endl;
}
break;
}
return 0;
}
学废了吗?(大佬勿喷 求求了!)