算法训练 Torry的困惑(基本型)

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

样例输出

2
 1 import java.text.DecimalFormat;
 2 import java.text.NumberFormat;
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.Collection;
 6 import java.util.Collections;
 7 import java.util.List;
 8 import java.util.Scanner;
 9 import java.util.Stack;  
10     public class Main{   
11         public static void main(String[] args){ 
12             Scanner input = new Scanner(System.in);
13             int n = input.nextInt();
14             int i = 1;
15             int h = 0;
16             int j;
17             int ji = 1;
18             while(h!=n){
19                 i++;
20                 for(j=2;j<=Math.sqrt(i);j++){
21                     if(i%j==0)
22                         break;
23                 }
24                 if(j>Math.sqrt(i)){
25                     h++;
26                     ji = ji*i%50000;
27                 }
28             }
29             System.out.println(ji%50000);
30             
31         }
32  }  


 
原文地址:https://www.cnblogs.com/lolybj/p/6530378.html