水过
题目连接CTF决斗场>训练题库>CTF题库>找素数
题目要求: 设一个等差数列,首元素为367,公差为186, 现在要求找出属于该等差数列中的第151个素数并输出。
格式:CTF{xxx}
C代码
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i;
int n=367;
int d=186,point = 1;
while(point<152)
{
int a = 0;
for(i=2; i<n; i++)
{
if (n%i==0)
{
a = 1;
}
}
if (a==1)
{
n+=d;
}
if (a==0)
{
printf("%d\n",point);
printf("%d\n",n);
point+=1;
n+=d;
}
}
}
python代码
d = 186
point = 1
x = input("please input the first number:")
while(point<152):
flag = 0
i = 2
while(i<x):
if x%i == 0:
flag = 1
break
else:
i+=1
if flag==1:
x+=d
print"FALSE_", x
elif flag==0:
print point
print x
x+=d
point+=1