幼儿园课题申报评审书:请教编程高手!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 05:25:47
利用随机函数产生200个10-500之间(可包括10和500)的整数,并输出其中的质数个数、最大质数和最小质数。(程序语言任选)

这个是用pascal编的
var
o,x,a,b,big,sma,n:integer;
t:boolean;
begin
o:=0;x:=0;sma:=501;
repeat
randomize;
a:=random(500);
if a>10 then
begin
o:=o+1;
for b:=2 to trunc(sqrt(a)) do
if a mod b>0 then t:=true
else t:=false;
if t then
begin
n:=n+1;
if big<a then big:=a;
if sma>a then sma:=a;
end;
until o=200;
writeln('质数的个数:',n);
writeln('最大的质数:',big);
writeln('最小的质数:',sma);
end.

这个有意思!!
程序如下,是用C编的。
#include <stdlib.h>
#include <math.h>
#include <stdio.h>

int create() //用来产生随机数
{
int i;
i=rand(); //产生0到 0x7fff 之间的随机数
if(i<=500&&i>=10)
return i;
else
create();
}
//-----------------------------------------------------
int ispri(int num) //判断是否为素数
{
int com,i;
com=(int)sqrt(num);
for(i=0;i<=com;i++)
{
if(num%com==0)
return 0; //不是素数返回0
else
continue;
}
return 1; //是素数则返回1
}

//-----------------------------------------------------
void main()
{
int ran,max,min,count,i;
count=0; //对素数计数
max=10;
min=500;
for(i=0;i<200;i++)
{
ran=create();
if(ispri(ran)) //如果是素数则进行以下操作
{
count++;
if(ran>max)
max=ran;
if(ran<min)
min=ran;
}
}
printf("产生的200个数中有%d个素数,最大数为:%d最小数为:\
%d\n",count,max,min);
}

for int i=1 to 200
int(491*Rnd+10)
next
这样就可以得到
200个10-500之间整数