导航:首页 > 编程语言 > 1000以内的完数java

1000以内的完数java

发布时间:2023-01-13 04:26:38

Ⅰ 1000以内的完数有哪些

有三个,6、28、496。

第一个完全数是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。

第三个完全数是496,有约数1、2、4、8、16、31、62、124、248、496,除去其本身496外,其余9个数相加,1+2+4+8+16+31+62+124+248=496。

推导公式:

大数学家欧拉曾推算出完全数的获得公式:如果p是质数,且2^p-1也是质数,那么(2^p-1)X2^(p-1)便是一个完全数。

例如p=2,是一个质数,2^p-1=3也是质数,(2^p-1)X2^(p-1)=3X2=6,是完全数。

例如p=3,是一个质数,2^p-1=7也是质数,(2^p-1)X2^(p-1)=7X4=28,是完全数。

例如p=5,是一个质数,2^p-1=31也是质数,(2^p-1)X2^(p-1)=31X16=496是完全数。

Ⅱ 求1000以内的所有完数

#include <stdio.h>
void main()
{
int i,j;
printf("1000之内的所有完数: ");
for(i=6;i<1000;i++){

int sum=0;

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

if(i%j==0)

sum = sum+j;

}
if(sum==i)printf("%d,",i);

}

}

输出结果为:6,28,496

原代码中的sum 初始化的位置是错误的,导致结果不正确,正确代码请看我的回答。

(2)1000以内的完数java扩展阅读:

完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。

求1000以内的完数可以用C,C++、java和Pascal语言等,下面举例java语言实现代码。

用java编写1000以内的完数如下:

public class PerfectNumber {public static void main(String[] args) {System.out.println("1000以内的所有完数有:");for (int i = 2; i < 1000; i++) {// 遍历1000以内的所有整数int sum = 0;// 定义和变量for (int j = 1; j < i; j++) {if (i % j == 0) {// 满足是i的因子,就累加sum += j;}}if (sum == i) {// 满足因子之和等于i就打印该完数System.out.print(i + " ");}}}}

Ⅲ 编写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以内的完数:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如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也为其因子)如果等于这个数本身,则为完数

}

}

(4)1000以内的完数java扩展阅读

在数学领域,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之内的所有完全数

import java.util.ArrayList;

public class Testa {

public static void main( String[] args ) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
for ( int i = 1; i <= 1000; i++ ) {
int k=0;
for(int j=1;j<i;j++){
if(i%j==0){
k+=j;
}
}
if(k==i){
arrayList.add( i );
}
}
System.out.println(arrayList);
}

}

阅读全文

与1000以内的完数java相关的资料

热点内容
无线已加密不可上网是怎么了 浏览:464
什么app可以免费做手机 浏览:371
异性下载什么app 浏览:678
51单片机程序单步视频 浏览:239
家庭宽带如何连接服务器 浏览:117
汽车高压泵解压 浏览:770
上门正骨用什么app 浏览:758
安卓为什么免费使用 浏览:397
加密货币都有哪些平台 浏览:625
python和matlab难度 浏览:388
python爬虫很难学么 浏览:572
小米解压积木可以组成什么呢 浏览:816
为什么滴滴出行app还能用 浏览:564
怎么升级手机android 浏览:923
php权威编程pdf 浏览:995
扣扣加密技巧 浏览:721
苹果如何创建服务器错误 浏览:497
软考初级程序员大题分值 浏览:475
js压缩视频文件 浏览:580
linux如何通过命令创建文件 浏览:991