弗莱


私信TA

用户名:1435075261

访问量:6636

签 名:

马梅,我还喜欢你,是不是有点可笑

等  级
排  名 1239
经  验 3060
参赛次数 0
文章发表 27
年  龄 0
在职情况 学生
学  校 野鸡大学
专  业

  自我简介:

解题思路:相信大部分人卡在了时间超限这儿,实际上就是判断质数时的比较次数太多了,如下给出解决

注意事项:

参考代码:

#include<stdio.h>

int judge(int n)

{

int a=1;

for(int i=2;i*i<=n;i++)//能余,则必i*i,能%i,减少了比较次数

{

if(n%i==0)

{

a=0;

break;

}

}

return a;

}

int main()

{

int n,index=0;

long long woc=1;

scanf("%d",&n);

for(long long i=2;;i++)

{

if(judge(i))

{

woc*=i;

woc%=50000;//这个地方要注意每次乘积都要%50000

index++;

if(index==n) break;

}

}

woc=woc%50000;

printf("%lld\n",woc);

return 0;

}


 

0.0分

13 人评分

  评论区

  • «
  • »