扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。
创新互联建站主营青山网站建设的网络公司,主营网站建设方案,APP应用开发,青山h5小程序制作搭建,青山网站营销推广欢迎青山等地区企业咨询
输出1000以内的所有完数的代码如下:
Pascal语言实现如下:
var
i,j,k:integer;
begin
for i:=1 to 1000 do
begin
k:=0;
for j:=1 to i-1 do
if i mod j=0 then inc(k,j);
if k=i then writeln(i);
end;
end.
C语言实现如下:
#includestdio.h
void main()
{
int i,j,k;
for(i=1;i=1000;i++)
{
k=0;
for(j=1;j=i-1;j++)
if(i%j==0) k+=j;
if(k==i) printf("%d\n",i);
}
}
num%i
C语言基本运算符%是双目模运算符,运算规则整数取余,运算对象整型,结合性自左向右
说的白话一些就是两个整数相除取其余数。
例如:
13%3、13%-3的结果均为1(商分别为4、-4);-13%3、-13%-3的结果均为-1(商分别为-4、4)
html
head
SCRIPT LANGUAGE="JavaScript"
!--
function wanshu()
{
var sum=0;
for(var i=1;i=100;i++)
{
for(var j=1,sum=0;j=i/2;j++)
{
if(i%j==0) sum+=j;
}
if(sum==i)
document.write("完数:"+i);
}
}
//--
/SCRIPT
/head
body onload="javascript:wanshu()"
/body
/html
上面的代码看看吧
第一个:
for(var i = 100,i=200,++i){
if(i%21 === 0){
alert(i);
break;
}
}
第二题
首先这种数不是叫完成,而是叫完数,英文perfectnumber(完美数)
//用来判断数字是不是完数的函数:
function is_perfect_number(num){
var sum = 0;
for(var i=1;inum;++i){
if (num%i == 0) {
sum += i;
}
}
return sum == num;
}
//初始化一个空数组,用来保存结果
var result = [];
for(var i=1;i=500;++i){
//如果是完数就放进数组里
if (is_perfect_number(i)) {
result.push(i);
}
}
//输出结果
alert(result);
上面的方法是用的最笨的方法求的,你可以去搜索一下完数的性质,利用性质可以写出更简单的算法来求完数
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流