• 蓝桥杯java 算法训练 Torry的困惑(基本型)


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

    样例输出

    2


    import java.util.Scanner;
    
    public class Main {
    	public static boolean isPrime(int num) {
    		if (num == 1)
    			return false;
    		if (num == 2)
    			return true;
    		
    		if (num % 2 == 0)
    			return false;
    	
    		for (int i = 3; i * i <= num; i = i + 2) {
    			if (num % i == 0)
    				return false;
    		}
    		return true;
    	}
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int N = sc.nextInt();
    		int numflag = 0;
    		int sum = 1;
    		for (int i = 2; numflag < N; i++) {
    			if (isPrime(i)) {
    				sum *= i;
    				sum %= 50000;
    				numflag++;
    			}
    		}
    		System.out.println(sum);
    	}
    }
    
    
    

      

     
  • 相关阅读:
    信号的阻塞
    善用布尔值
    多线程
    手机号码合理性的判断
    P(n,x)实现
    兄弟分钱、海盗分赃
    简单四则运算的实现
    模板技术
    合并字符串
    交换机和路由器比较
  • 原文地址:https://www.cnblogs.com/duanyingkui/p/8342756.html
Copyright © 2020-2023  润新知