「真约数java」真约数是什么

博主:adminadmin 2022-11-21 22:19:12 78

本篇文章给大家谈谈真约数java,以及真约数是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java求一个数的真约数之合

#include "stdafx.h"

#include iostream

using namespace std;

int main()

{

int k,sum=1; //真约数包含1吗?包含sum初始1,不包含初始化0

cout "请输入一个正整数:";

cin k;

for (int i = 2;i = k / 2;i++)

if(k%i==0)

sum += i;

cout k "的真约数之和是" sum endl;

system("pause");

return 0;

}

「真约数java」真约数是什么

设计java程序找出1到100的完数。

import java.util.Iterator;

import java.util.LinkedList;

import java.util.List;

public class Test {

public static void main(String[] args) {

List retList = getPerfectNumber(1,100);

Iterator itr = retList.iterator();

while (itr.hasNext()){

System.out.println(itr.next());

}

}

/**求某整数范围内的完数(当2个入参相等时相当于判断其是否为完数)

* @param minNumber

* @param maxNumber

* @return

*/

private static List getPerfectNumber (int minNumber, int maxNumber){

List resultList = new LinkedList();//用来存放找到的完数

//检查入参

if (minNumber1 || minNumbermaxNumber){

System.out.println("入参错误,minNumber必须大于0且小于或等于maxNumber");

return resultList;

}

for (int i=minNumber; i=maxNumber;i++){

int sum = 1;

for (int j=2; ji;j++){

if (i%j==0){//找到真约数

sum = sum + j;//累计真约数

}

}

if (sum !=1 sum == i){//找到完数

resultList.add(i);

}

}

return resultList;

}

}

完全数的计算方法

大数学家欧拉曾推算出完全数的获得公式:如果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是完全数。

但是2^p-1什么条件下才是质数呢?

事实上,当2^p-1是质数的时候,称其为梅森素数。到2013年2月6日为止,人类只发现了48个梅森素数,较小的有3、7、31、127等。 1.PASCAL程序 判断 A~ B 区域内的完全数为

program wanquanshu;

var i,a,b:longint;

function wanquanshu(i:longint):boolean;

var sum,k:longint;

begin

sum:=1;

for k:= 2 to i div 2 do

if i mod k=0 then sum:=sum+k;

if i=sum then wanquanshu:= true

else wanquanshu:=false;

end;

begin

repeat

readln(a,b);

until (a0) and (b0) and (ba);

for i:= a to b do

if wanquanshu(i) then writeln(i);

end.

2.利用FreeBasic编程求n以内完全数

DIM AS INTEGER I,J,S

FOR I=1 TO 10000

S=0

FOR J=1 TO I\2

IF I MOD J=0 THEN S=S+J

NEXT J

IF S=I THEN PRINT I,

NEXT I

SLEEP

END

3.利用pascal编程求n以内完全数

program bill02;

var m,n,y,i,j,s,ss,z:longint;

a:array[1..10000] of integer;

begin

readln(m,n);

for i:=m to n do

begin

z:=0;

fillchar(a,sizeof(a),0);

s:=2;

ss:=1;

y:=i;

while y0 do

begin

if y mod s=0 then

begin

ss:=ss+1;

a[ss]:=s;

y:=y div s;

end

else

s:=s+1;

end;

for j:=1 to ss do

z:=z+a[j];

if z=i then writeln(i);

end;

end.

4.利用VB编程求10000以内完全数

Dim a as Integer,b as Integer,c as Integer

For a = 1 To 10000

c = 0

For b = 1 To a \ 2

If a Mod b = 0 Then c = c + b

Next b

If a = c Then Print Str(a)

Next a

5.利用C语言编程求1000以内完全数

#include stdio.h

void main()

{

int j,k,sum = 0;

for(k=2;k=1000;k++)

{

sum=0;

for(j=1;jk;j++)

if(k%j==0)

sum=sum+j;

if(sum==k)

printf(%d ,k);

}

}

6.利用java语言编程求1000以内完全数

public class PerfectNumber {

public static void main(String[] args){

for(int i=2;i1000;i++){

int sum=0;

//查找因数

for(int j=1;ji;j++){

if(i % j==0){

sum += j;

}

if(sum==i)

System.out.println(i);

}

}

}

7.利用python语言编程求N以内完全数

def perfect(N):

各个真约数的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。

perfectNumber=[]

for i in range(5,N):

sum1 = 0

for j in range(1,i//2+1):

if i%j == 0:

sum1 += j

if sum1 == i:

perfectNumber.append(i)

return perfectNumber

8.利用c++语言编程求1000以内完全数

#include iostreamusing namespace std;int main (){ int i,j,m;for(i=1;i=1000;i++){for(j=1,m=0;ji;j++){while(i%j==0){m=m+j;break;}}if(i==m){couti its factors are ;for(j=1;jm;j++){while(m%j==0){coutj',';break;}}coutendl;}}}

9.利用JavaScript语言编程求N以内完全数

function perfectNumber(N){

var nums = [], sum, i, j;

//0除以任意数都是0,所以从1开始

for (i = 0; i = N; i++){

sum = 0

//完全数除以自己一半,求余肯定会大于0,所以用i/2

for(j = 1; j = i/2; j++){

if (i % j === 0){

sum += j;

}

}

if (sum === i){

nums.push(i);

}

}

return nums;

}

10.c#/*完美数推算*/int 因子和 = 0;foreach (var 自然数 in Enumerable.Range(2, 10000)){因子和 = 0;foreach (var 真约数 in Enumerable.Range(1, 自然数 - 1))if (自然数 % 真约数 == 0) 因子和 += 真约数;if (因子和 == 自然数)Console.WriteLine(自然数);}

关于真约数java和真约数是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。