アルゴリズムトレーニングTorryの戸惑い(基本型)


時間制限:1.0 sメモリ制限:512.0 MB
 
 
 
問題の説明
トリーは小さい頃から数学が好きだった.ある日、先生は彼に2、3、5、7......のような数を質数と呼ぶと言った.Torryはふと一つの質問を思いついた.上位10、100、1000、10000......個の質量数の積はいくらだったのだろうか.彼はこの問題を先生に話した.先生は呆然としていて,すぐには答えられなかった.そこでTorryはプログラミングができるあなたに助けを求めて、前のn個の素数の積を計算してください.しかし、プログラミングに触れて間もないことを考慮すると、Torryはこのデジタルモードの50000の値を算出します.
入力フォーマット
n<=10000000の正の整数nのみが含まれます.
出力フォーマット
1行、すなわち、前のn個の質量数の積モード50000の値を出力する.
サンプル入力
1 

サンプル出力
2

2つの方法、2つ目は1つ目より周到ですが、ブルーブリッジカップシステムで1つ目の方法を提出するのに十分です.
方法1:
import java.util.Scanner;
public class Main {
//            (  )  
static int is_prime(long n){
       for(inti=2;i*i<=n;i++){
          if(n%i==0)
              return0;
       }
       return 1;
    }

    public static voidmain(String[] args) {
   
       long n;
       Scanner sc=new Scanner(System.in);
       n=sc.nextLong();
       int sum=0,ans=1,i=2;
       while(sum
          if(is_prime(i)==1)
           {
              ans=ans*iP000;
              sum++;
           }
           i++;
       }
       System.out.println(ans);
     
    }

}

   :
importjava.util.Scanner;

publicclassMain{ 
//     
publicstaticbooleanIsprime(longn){

 booleanf =true;

if( n <=1){ 

f =false; 

}elseif( n ==2){

f =true;
 }else{
for( int i =2;i < n ; i++){
if( n % i ==0){ 
f =false;break; 
} }} 
returnf; 
}
publicstaticvoidmain(String[]args) {
// TODO Auto-generated method stub 
Scannersc=newScanner(System.in); 
longN =(long)sc.nextInt(); 
longcnt =0; 
longi =2; 
longresult =1; 
while(cnt 

注:コード編集はシステムテストしたままコピーしてきたので、気に入ってください.