1. 程式人生 > >前n個質數的乘積

前n個質數的乘積

問題描述

 

Torry從小喜愛數學。一天,老師告訴他,像2、3、5、7……這樣的數叫做質數。Torry突然想到一個問題,前10、100、1000、10000……個質數的乘積是多少呢?他把這個問題告訴老師。老師愣住了,一時回答不出來。於是Torry求助於會程式設計的你,請你算出

import java.util.Scanner;

public class ALGO51 {
 public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int n = sc.nextInt();
	int count =0;
	int c =0;
	long num =1;
	while(count<n){
	      c++;
	      if(PanDuan(c)!=1){
	    	  num*=PanDuan(c); 
	    	  count++;
	      }
	}
	System.out.println(num%50000);
}
    public static long PanDuan(int d){
    	int c = 1;
    	for(int i=1;i*i<=d;i++){
    		if(d%i==0&&i!=1){
    			return c;
    		}
    	}
    	return d;
    }
}

。不過,考慮到你才接觸程式設計不久,Torry只要你算出這個數模上50000的值。

 

輸入格式

 

  僅包含一個正整數n,其中n<=100000。

 

輸出格式

 

  輸出一行,即前n個質數的乘積模50000的值。

 

樣例輸入

1

 

樣例輸出

2