POJ原址:POJ3006
这道题确实够水,当然了,如果纯粹自己弄也不一定能弄出来…
参考链接:
POJ 3006 - 麦斯威尔PLUS - 博客频道 - youkuaiyun.com
注意两点,一个是long long int的自定义函数,另一个就是在最后的i=i-d。
程序:
#include<iostream>
using namespace std;
long long Is(long long m)//这里还是照着改了,因为用int肯定是小了的,而直接存在数组里也得用很大的数组
{
long long i,num=0;
if(m==0||m==1)
return 0;
for(i=2;(i*i)<=m;i++)
{
if(m%i==0)
break;
}
if((i*i)<=m)
return 0;
else
return 1;
}
int main()
{
long long int a,d,n;
cin>>a>>d>>n;
while(a||d||n)
{
long long int i=a,j=0;//i用于遍历数组数字
while(j<n)//j用于n的计数,从第一个是j=1开始
{
if(Is(i)==1)
j++;
i=i+d;
}
i=i-d;//这里之前没有,每次都比答案多一个d,因为程序是在while最后i=i+d的,因此j=n-1时会多一个d
cout<<i<<endl;
cin>>a>>d>>n;
}
return 0;
}
330

被折叠的 条评论
为什么被折叠?



