导航:首页 > 编程语言 > java1000以内完数

java1000以内完数

发布时间:2025-06-02 13:16:29

java编程题:找出1000以内的完数:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.

include <iostream>

using namespace std;

int main() {

for (int i = 2; i <= 1000; i++) {//从2到1000的数

int sum = 0;//因子总和

for (int j = 1; (j * j) <= i; j++) {//j做除数,√n复杂度,减少一半的计算量

if (i % j == 0) {//可以整除,为其因子

sum = j + (i / j) + sum;//因子之和

}

}

if ((sum - i) == i) cout << "1000以内的完数:" << i << endl;//因子之和减去其本身(1*i也为其因子)如果等于这个数本身,则为完数

}

}

(1)java1000以内完数扩展阅读

在数学领域,6是第一个完全数,也是最小的完全数。所谓完全数(又称完美数或完备数),是一种特殊的自然数;它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。

例如6有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6;第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。公元前6世纪的古希腊数学家、哲学家毕达哥拉斯是最早探究完全数的人,他已经知道6和28这两个自然数是完全数了。

㈡ 编写java循环程序,找出1000以内的所有完数

publicclassTest{

publicstaticvoidmain(String[]args){
inti,j,sum;//sum用来存放因子之和
for(i=1;i<1000;i++)//对1到1000以内的数依次尝试
{
sum=0;//给sum赋值,同时也是对上一次的值清空
for(j=1;j<=i/2;j++)//查找因子
{
if(i%j==0)//如果是因子
{
sum+=j;//把当前的因子累加到sum中
}
}
if(sum==i)//判断是不是完数,即因子之和等于自身
{
System.out.print(i+"itsfactorsare:");//是完数,输出
for(j=1;j<=i/2;j++)//再次找出这个完数的因子
{
if(i%j==0)//输出各个因子
System.out.print(j+",");
}
System.out.println();
}
}
}
}

这些题网络里面都是找得到的

㈢ 使用java编写1000以内的完全数

运行结果
1000以内的完全数是:
6
28
496
总计有3个

public class Main
{
public static void main(String args[])
{
int count=0;//用来统计完全数的个数
System.out.println("1000以内的完全数是:");
for(int i=1;i<=1000;i++)
{
int sum=0;//每一次循环都重新开始累加求和
for(int j=1;j<i;j++)
{
if(i%j==0) sum+=j;//累加真因子(除i以外的因子)的和
}
if(sum==i)//输出完全数并统计个数
{
System.out.println(i);
count++;
}
}
System.out.println("总计有"+count+"个");
}
}

㈣ 一个数如果恰好等于它的因子之和,这个数就称为完数,编写一个JAVA程序1000内的所有完数

源代码如下:

#include <stdio.h>

main()

{

int i,j;

int sum;

for(i=1;i<=1000;i++)

{

sum=0;

for(j=1;j<i;j++)

{

if(i%j==0)

sum+=j;

}

if(sum==i)

{

printf("%d its factors are ",i);

for(j=1;j<i;j++)

if(i%j==0)

printf("%d ",j);

}

printf(" ");

}

(4)java1000以内完数扩展阅读

1、完全数是一些特殊的自然数,它所有的真因子即除了自身以外的约数的和即因子函数,恰好等于它本身。

2、第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28。

3、有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4 + 7 + 14=28。后面的数是496、8128。

阅读全文

与java1000以内完数相关的资料

热点内容
开山工厂压缩空气管道 浏览:837
java线程占用内存 浏览:487
解压动画修指甲游戏 浏览:487
m型压缩机 浏览:137
店铺电脑收银系统数据库加密 浏览:887
python27mac下载 浏览:275
程序员为啥叫程序员 浏览:104
编译原理龙书第二章习题 浏览:64
离心式压缩机试车方案 浏览:488
板的算法例题 浏览:620
逗拍视频压缩设置 浏览:405
身份证加密哪几位 浏览:443
黎明杀机服务器为什么会卡退 浏览:429
模数10加权算法 浏览:126
不用指令方服务器如何获得32k 浏览:93
php接口继承类 浏览:777
太平app怎么下载 浏览:281
伊朗加密货币被制裁 浏览:451
python编程综述 浏览:734
物品解压方式 浏览:517