扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
?php
站在用户的角度思考问题,与客户深入沟通,找到新华网站设计与新华网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、主机域名、网站空间、企业邮箱。业务覆盖新华地区。
header("Content-type:text/html;charset=utf-8");
$count = 0;//该变量用来统计素数个数,并初始化为0
echo "素数:";
for($i=2;$i34;$i++)
{
for($j=2;$j=intval(sqrt($i));$j++)
{
if($i%$j==0)
{
$isPrime=false;
break;
}
$isPrime=true;
}
if($isPrime)
{
$count = $count + 1;//是素数,所以统计变量加1
echo $i ." ";
}
}
echo "素数的个数为:".$count;
?
我习惯用C,所以就用C写了,如果你用的是C++,那么就你这个题目来说区别只有一个就是输入输出表达方式,你自己转化一下就行了。
首先你得知道如何判断素数,我写一个判断素数的完整程序如下:
#includemath.h
mian()
{
int m,i,k;
scanf("%d",m);
k=sqrt(m);
for(i=2;i=k;i++)
if(m%i==0)break;
if(ik+1)
printf("%d is a prime number\n",m);
else
printf("%d is not a prime number\n";m);
}
然后“给你N个数”我想意思应该是要求输入N个随意的数,这个你自己应该能写,我就不写了;
第三是找到这其中的素数,我只举个例子,比如已经给了100-200这么多数字,让你找怎么写,我写在下边:
#includemath.h
main()
{
int m,i,k,n=0;
for(m=101;m=200;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%n==0)printf(“\n”);
}
printf(“\n”);
}
然后是求和,你自己应该会,最后用一个循环语句把他们输出就行了。
我这么分开写而不是直接给你一个完整的程序,是觉得这么教你可以理解的更深刻,而如何把他们合为一个完整的程序将会锻炼你的编程序的大局观。祝你好运!
这是因为,如果a是合数,则a必有一个因数不大小 根号a
证明:
设a为合数,则a=pq,不妨设 2 = p = q
则 a = pq = p²
即 p= 根号a
证必
申明一个100长度的数组a[100],初始值都为0,然后从下标2开始循环a[2](1跟2都是素数,可以先标记数组a[0]跟a[1]的值为1),每次循环计算(i+1)%x
(i为数组下标,x为从1到i+1的值开根号取整数),如果能整除,进行下一次循环,如果没有数能整除,则标记为1,最后输出所有标记为1的下标+1就是100以内所有素数
create proc dbo.Usp_IsSuShu(@No int)
as
begin
if @No =1
return 0
declare @maxV int, @Index int
set @maxV = @No -1
set @Index = 2
while @Index @maxV
begin
declare @maxV2 int,@Index2 int
set @maxV2 = @maxV
set @Index2 = @Index
while @Index2 @maxV2
begin
if @Index2 * @Index = @No
select 0
set @Index2 = @Index2 + 1
end
set @Index = @Index + 1
end
select 1
end
dbo.ChkIntIsSuShu(13) -- 返回值1,表示素数,0表示非素数。
declare
reg number(4);
num number(4);
i number(4);
begin
num:='num';
reg:=0;
for i in 2..(num)/2
loop
if(num mod i = 0) then
reg:=1;
exit;
end if;
end loop;
if(reg = 0) and (num!=1) then
dbms_output.put_line(num||'是素数');
else
dbms_output.put_line(num||'不是素数');
end if;
end;
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流