本文介绍了找到一个给定的素数在n素数,而无需使用一个检查素性任何函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何编写一个程序来求n指定次数后,质数?
例如100之后的第一个质数10,或1000之后的第一个25的素数。
编辑:
下面是我的尝试。我得到的输出的方式,但我们可以做到这一点不使用任何素性测试功能?
#包括LT&;&stdio.h中GT;
#包括LT&;&CONIO.H GT;
INT isprime(INT);
主要()
{
诠释计数= 0,I;
为(ⅰ= 100; 1 2;我+ +)
{
如果(isprime(i))的
{
的printf(%d个\\ N,I);
算上++;
如果(计数== 5)
打破;
}
}
残培();
}
INT isprime(int i)以
{
INT C = 0,N;
为(N = 1; N< = I / 2; N ++)
{
如果(我%N == 0)
C ++;
}
如果(C == 1)
返回1;
其他
返回0;
}
解决方案
当然。阅读有关的。相反,检查素性,你生成素数。
How to write a Program to find n primes after a given number?e.g. first 10 primes after 100, or first 25 primes after 1000.Edited: below is what I tried. I am getting output that way, but can we do it without using any primality-testing function?
#include<stdio.h>
#include<conio.h>
int isprime(int);
main()
{
int count=0,i;
for(i=100;1<2;i++)
{
if(isprime(i))
{
printf("%d\n",i);
count++;
if(count==5)
break;
}
}
getch();
}
int isprime(int i)
{
int c=0,n;
for(n=1;n<=i/2;n++)
{
if(i%n==0)
c++;
}
if(c==1)
return 1;
else
return 0;
}
解决方案
Sure. Read about the Sieve of Eratosthenes. Instead of checking for primality, you generate prime numbers.
这篇关于找到一个给定的素数在n素数,而无需使用一个检查素性任何函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!