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


    算法训练 Torry的困惑(基本型)
    时间限制:1.0s 内存限制:512.0MB

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

    样例输出

    2

    import java.util.ArrayList;
    import java.util.Scanner;
    
    
    public class Torry的困惑 {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		long n = sc.nextLong();
    		boolean flag = true;
    		long num = 1;
    		ArrayList<Long> al = new ArrayList<Long>();//定义一个LONG型数组用于存入质数
    		for (long i = 2; i <= 100000; i++) {
    			for (int j = 2; j < i; j++) {
    				if(i%j==0){
    					flag = false;
    					break;
    				}else{
    					flag = true;
    				}
    			}
    			if(flag==true){
    				al.add(i);//若是质数则添加到数组中
    				if(al.size()==n){//当数组长度达到指定要求时返回
    					break;
    				}
    			}
    		}
    		for (int i = 0; i <al.size(); i++) {//计算乘积
    			num = num*al.get(i)%50000;
    		}
    		if(n==1){
    			System.out.print("2");
    		}else{
    			System.out.print(num);
    		}
    	}
    
    
    }
    
    
  • 相关阅读:
    LeetCode刷题之字符串
    LeetCode刷题之数组复习
    为什么要用移码来表示阶码(指数)呢?
    字节左移跟右移
    一个有趣的问题
    为什么对数组名取地址,得到的为整个数组的地址?
    在win10 64位下搭建汇编环境
    windows切换samba账号进行连接
    samba服务配置记录
    subversion钩子函数使用记录
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13079381.html
Copyright © 2020-2023  润新知