08奥运男排:几道编程题`大家帮忙``高中会考的``简单

来源:百度文库 编辑:高校问答 时间:2024/05/03 01:13:43
请编程找出3000以内的素数,并回答下列问题: 第41题: 3000以内的素数,第50个是( )
233
211
227
229

第42题: 2927是素数吗?

不是

第43题: 2000~3000以内有( )个素数。
201
129
127
138

Answer
233
Yes
127

下面的程序可以做以上三道题
isPrime 判断是不是素数
PrintPrimeNumber 打印 n - m 之间的所有素数

#include "stdio.h"
#include "stdlib.h"

int primeTable[1000];
int primeNumber = 1;

int isPrime(int number)
{
int i;
if(number == 1)
return 0;
for(i=0;i<primeNumber;i++)
{
if (number == primeTable[i])
{
return 1;
}
if ((number % primeTable[i]) == 0)
{
return 0;
}
}
for(i=primeTable[primeNumber-1]+1;i<number/2;i++)
{
if((number%i) == 0)
{
return 0;
}
}
primeTable[primeNumber++] = number;
return 1;
}

void PrintPrimeNumber(int start, int end, int printAll)
{
int count = 0;
int i;
for(i=start; i<end; i++)
{
if(isPrime(i))
{
if(printAll)
printf("%d: %d\n",count,i);
count++;
}
}
printf("count = %d\n",count);
}

int main(int argc, char* argv[])
{
primeTable[0] = 2;
PrintPrimeNumber(1,1000,1);
if( isPrime(2927))
printf("2927 is prime number\n");
else
printf("2927 is not a prime number\n");

PrintPrimeNumber(2000,3000,0);
return 0;
}

编程找出3000以内的素数:(c语言源程序)
#include <math.h>
main()
{int m,k,i,n=0;
for(m=2,m<=3000;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>=k+1)
{printf("%d",m);
n=n+1;}
if(n%10==0)printf("\n");
}
printf("\n");
}
其他的答案现在没时间答了,因为我是在学校机房上课,现在离下课还有11秒钟,马上要关机了!

<script language=\"javascript\">
function isdiv(x,y){
return (x%y==0);

}
</script>
<script language=\"javascript\">
var k=0
var prime=\"\"
function iszs(x)
{
for(var i=2;i<=9;i++){
if(x!=i && x%i==0){
return false;
}
}
return true;
}
for(i=1;i<3000;i++)
{
if(iszs(i)==true)
{
k=k+1
if(k%10==0)
{prime+=i+\",\\n\"}
else
{prime+=i+\",\"}
}
}
alert(\"alert\"+\"1-3000以内的质数\"+\"\\n\"+prime)
</script>
最简单的方法。。用这一个去套你的问题。