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

问题描述    Torry 从⼩喜爱数学。⼀天,⽼师告诉他,像 2 、 3 、 5 、 7…… 这样的数叫做质数。 Torry 突然想到⼀个问题,前 10 、 100 、 1000 、 10000…… 个质数的乘积是多少呢? 于是 Torry 求助于会编程的你,请你算出前 n 个质数的乘积。不过,考虑到你才接触编程不久, Torry 只要你算出这个数模上 50000 的值。 输⼊格式   仅包含⼀个正整数 n ,其中 n<=100000 。 输出格式   输出⼀⾏,即前 n 个质数的乘积模 50000 的值。 样例输⼊ 1 样例输出 2 主要为了复习一下质数的判断
int isprime(int i)
{
	for(int k=2;k<=sqrt(i);k++)
	{
		if(i%k==0) return 0;
	}
	return 1;
}

是质数就返回1,否则返回0.下面直接附代码吧

#include <iostream>
#include<algorithm>
#include<math.h>
int isprime(int i)
{
	if(i==2) return 1;
	for(int k=2;k<=sqrt(i);k++)
	{
		if(i%k==0) return 0;
	}
	return 1;
}
using namespace std;
int main() {
    int n;
    cin>>n;
    int count=0;
    int ans=1;
    for(int i=2;;i++)
    {
    	if(isprime(i)==1)
    	   {ans*=i;	   
    	   count++;}
    	if(count==n)break;
	}
	cout<<ans%50000;
	 
} 

 

上一篇:js 刷新页面自动回到顶部


下一篇:(三)Python入门之100道基础题