杭电2046http:⼀⼀acm.hdu.edu.cn⼀showproblem.php?pid=2046

2025-01-07 19:24:08
推荐回答(2个)
回答1:

//改成这样AC了
#include
using namespace std;
int main()
{
int n,i,a=1;
while(cin>>n)
{ if(n<=0)break;
cout< if(n==1||n==2)
cout<<"no"< else
{
for(i=2;i*i<=n;i++)////////////

if(n%i==0) break;

if(i*i>n)///////////////////////
{
cout<<"yes"<}
else
{
cout<<"no"<}
}
a++;
}
return 0;
}

#include
#include
using namespace std;
int main()
{
int n,i,a=1;
while(cin>>n)
{ if(n<=0)break;
cout< if(n==1||n==2)
cout<<"no"< else
{
for(i=2;i<=sqrt((double)n);i++)//////////////

if(n%i==0) break;

if(i>sqrt((double)n))///////////////////
{
cout<<"yes"<}
else
{
cout<<"no"<}
}
a++;
}
return 0;
}

回答2:

思路错误, 这是斐波那契数列

#include

int main()
{
__int64 ways[50],i;
ways[0]=1;
ways[1]=2;
for(i=2;i<50;i++)
{
ways[i]=ways[i-1]+ways[i-2];
}
while(scanf("%d",&i)==1)
{
if(ways[i-1]>100000000)
{
printf("%d",ways[i-1]/100000000);
printf("%08d\n",ways[i-1]%100000000);
}
else printf("%lld\n",ways[i-1]);
}
}