导航:首页 > 编程语言 > 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以内完数相关的资料

热点内容
文件夹是只读是什么意思 浏览:85
服务器如何知道访问域名 浏览:316
java网络编程实验总结 浏览:82
linux下dns服务器配置 浏览:704
我的命令是绝对的 浏览:929
助飞器app在哪里下 浏览:61
无广告win10解压缩 浏览:473
台湾的服务器怎么选云服务器 浏览:810
群晖媒体服务器平板上怎么看 浏览:622
pdf文件怎么转换成jpg格式 浏览:720
程序员训练时间 浏览:657
书签主页源码带后台 浏览:570
神舟显卡驱动解压有两个文件夹 浏览:362
接受调度命令的过程中 浏览:803
银行下一代app在哪里 浏览:423
加密学习资料及答案 浏览:334
我来贷app在哪里下载 浏览:954
羽化命令使用 浏览:361
php提权木马源码 浏览:657
趣充app实名认证在哪里 浏览:420