C语言 · Torry的困惑(基本型)

问题描述
  Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。
输入格式
  仅包含一个正整数n,其中n<=100000。
输出格式
  输出一行,即前n个质数的乘积模50000的值。
样例输入
1

 样例输出

2

 1 #include<stdio.h>
 2 #include<math.h>
 3 int SuShu(int n){
 4     int i;  
 5     for(i=2;i<=sqrt(n+1);i++)
 6         if(n%i==0) 
 7             return 0;
 8     return 1;
 9 }
10 
11 int main(){
12     int n;
13     scanf("%d",&n);
14     int i,Ji=1,flag=0;
15     for(i=2;flag<n;i++){
16         int k = SuShu(i);
17         if(k){
18             Ji=(Ji*i)%50000;
19             flag++;//这里要注意自增 
20         }
21     }
22     printf("%d",Ji);
23     return 0;
24 }

 


posted @ 2017-01-07 18:15  人间烟火地三鲜  阅读(1050)  评论(0编辑  收藏  举报