精华内容
下载资源
问答
  • 完全数

    千次阅读 2019-03-19 21:23:48
    题目:求出1000以内的所有“完全数”并输出它们(若n的包括1但不包括n本身的所有因子之和等于n,则n为“完全数”。例如6=1+2+3,28=1+2+4+7+14)。 C++实现: #include <iostream> using namespace std; int ...

    题目:求出1000以内的所有“完全数”并输出它们(若n的包括1但不包括n本身的所有因子之和等于n,则n为“完全数”。例如6=1+2+3,28=1+2+4+7+14)。

    C++实现:

    #include <iostream>
    using namespace std;
    int main()
    {
        int n=1;
        int sum=0;
        int item=0;
        while(n<=100000)
        {
            for(int i=1;i<=n-1;i++)
            {
                if(n%i==0)
                    sum += i;
            }
            if(sum == n)
            {
                cout<<n<<endl;
                item ++;
            }
            sum=0;
            n+=1;
        }
        cout<<"共有"<<item<<"个完全数"<<endl;
        return 0;
    }

    展开全文
  • Python 求完全数

    千次阅读 2019-11-23 22:03:08
    完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。...第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。 for n in range(2,1000): sum=0 fo...

    完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
    如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。

    for n in range(2,1000):
        sum=0
        for i in range(1,n):
            if n%i==0:
                sum=sum+i
                if sum==n:
                    print(n)
    
    import math
    for n in range(2,1000):
        factors=[]
        #math.floor 向下取整
        for i in range(1,math.floor(n/2)+1):
            if n%i==0:
                factors.append(i)
                if sum(factors)==n:
                    print(factors)
                    print(n)
    
    展开全文
  • c语言求完全数

    万次阅读 2017-07-03 11:39:14
    完全数:如果一个数恰好等于它的因子之和,则称该数为"完全数" 两种方法自行比较吧,我直接贴代码 #include #include #define max 100000//计算出max以内的所有完全数 using namespace std; //方案一,根据...

    完全数:如果一个数恰好等于它的因子之和,则称该数为"完全数"


    两种方法自行比较吧,我直接贴代码

    #include<iostream>
    #include<time.h>
    
    #define max 100000//计算出max以内的所有完全数
    
    using namespace std;
    
    //方案一,根据定义
    //如果一个数恰好等于它的因子之和,则称该数为"完全数"
    void main() {
    	clock_t start, end;
    
    	start = clock();
    
    	for (int i = 3; i <= max; ++i) {
    
    		int sum = 1;//因子之和
    
    		for (int j = 2; j < i; ++j) {
    
    			if (i%j == 0) {//说明j是i的因子
    
    				sum += j;//求和
    			}
    		}
    		
    		if(sum==i){//判断和是否等于数本身
    		
    			cout << i << endl;
    		}
    	}
    	
    	end = clock();
    
    	float time = (float)(end - start) / 1000;
    
    	cout << "time is" << time << "s" << endl;
    
    	system("pause");
    
    }
    //10000				0.173s
    //100000			17.507s

    #include<iostream>
    #include<time.h>
    #include<math.h>
    
    #define max 1000000000
    
    using namespace std;
    
    //方案二,通过梅森素数
    //原理:如果(2^p-1)是素数,那么它就是梅森素数,再根据用(2^p-1)*2^(p-1),这个就是完全数。
    
    bool Prime(int prime);
    
    void main() {
    	clock_t start, end;
    
    	start = clock();
    
    	for (int p = 2;; ++p) {
    
    		int perfect = (pow(2,p) - 1) * pow(2 ,p - 1);
    
    		if (perfect > max)break;
    
    		int prime = pow(2, p) - 1;
    
    		if (Prime(prime))cout << perfect << endl;
    	}
    
    
    	end = clock();
    
    	float time = (float)(end - start) / 1000;
    
    	cout << "time is" << time << "s" << endl;
    
    	system("pause");
    
    }
    
    bool Prime(int prime) {
    
    	bool choice = true;//假设为质数
    
    	int k = sqrt((float)prime);
    
    	for (int j = 2; j <= k; ++j) {
    
    		if (prime % j == 0) {//不是质数
    
    			choice = false;
    
    			break;
    		}
    	}
    
    	return choice;
    }
    //方案				10^4				10^5			10^8			10^10
    //1					0.173s				17.507s		
    //2					0s					0.001s			0.001s			超出范围
    //个数				3					4				5
    
    //完全数
    //6
    //28 
    //496 
    //8128 
    //33550336 

    老实说,我这篇博客并没有实现我最初想要的结果,这种求法网上一搜一大堆,我只能求到第五个完全数,但是速度却非常的快,之所以不能继续求下去不是受速度的限制,而是受到数据结构的限制,C语言中int型也就到此为止了,我若想算更大的完全数就要实现高精度运算。为此我之前写过高精度运算的文章,但是把这两个东西结合起来却不是很容易。总之,思路就是这样,以后有机会我再去弄吧(但是python里应该不用考虑数据类型)

    展开全文
  • 判断一个数是否为完全数

    千次阅读 2018-09-11 16:37:24
    判断一个数是否为完全数 给出一个输入数字N,检查N是否为完全数 如果是完全数,返回1,否则返回0 import java.util.Scanner; /** * 完全数:给出一个输入数字N,检查N是否为完全数 如果是完全数,返回1,否则...

    判断一个数是否为完全数

    给出一个输入数字N,检查N是否为完全数 如果是完全数,返回1,否则返回0

    import java.util.Scanner;
    /**
     * 完全数:给出一个输入数字N,检查N是否为完全数 如果是完全数,返回1,否则返回0
     *
     * 完全数:完全数等于其所有因数的总和 例如:28 = 1+2+4+7+14
     */
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		int i = perfectNumberCheck(n);
    		System.out.println(i);
    	}
    
    	public static int perfectNumberCheck(int n) {
    		int flag = 0;
    		int sum = 0;
    		if (n >= 6) {
    			for (int i = 1; i < n; i++) {
    				if (n % i == 0) {
    					sum += i;
    				}
    			}
    			if(sum==n) {
    				flag=1;
    			}
    		}
    		return flag;
    	}
    }
    
    展开全文
  • 完全数 c语言实现

    千次阅读 2019-06-22 13:12:34
    完全数是指 如 6=1+2+3 28=1+2+4+7+14 这样的该数的各个因数(不包含本身的)之和刚好等于本身的数 ,为完全数 所以在程序设计是我们得首先想到的是肯定要求解出一个数的所有因数 并判断是否等于本身,就解决了,...
  • python实现完全数

    千次阅读 2020-02-17 14:43:08
    求1000以内的完全数。 所谓完全数是指,如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是6,它有约数 1、 2、 3、 6,除去它本身6外,其余3 个数相加,1+2+3=6...
  • 10000以内完全数与判断是否为完全数java编译 1. 完全数(Perfect number)定义 又称完美数或完备数,是一些特殊的自然数。 它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。 例:6=1+2+...
  • 完全数(完美数)

    千次阅读 2019-05-07 19:59:17
    '''如果一个数恰好等于它的真因子之和,则称该数为“完全数”,又称“完美数”。所谓的真因子是指除了其本身外的所有因子(约数) ''' num = int(input('Please input a positive integer:...
  • Java 完全数

    千次阅读 2015-09-16 13:59:29
    本文是Java编程实现完全数(1 - 10000之内的)的一点学习经验总结。 首先说明完全数的定义,引自百度百科完全数完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了...
  • 华为机试HJ56:完全数计算

    千次阅读 多人点赞 2021-09-02 10:44:47
    C++实现——完全数计算
  • 判断完全数 C++实现

    千次阅读 2019-03-25 20:38:30
    编写函数perfect_num(n),判断n是否为完全数完全数是指一个数除了自身的所有因子之和恰好等于本身) 例如: 28的因子有1,2,4,7,14,28, 除去28其余5个数之和为28, 所以28为完全数 C++实现
  • JAVA 判断是否为完全数

    千次阅读 2020-09-14 12:10:06
    JAVA 判断是否为完全数 题目要求: 编写Java程序,从键盘输入一个正整数,判断该整数是否是完全数完全数是指所有因数(包括1但不包括其自身)的和等于该数自身的数。例如,28就是一个完全数(28=1+2+4+7+14)。 ...
  • 完全数:又称完美数或完备数,是一些特殊的...第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。 窗口: 代码: using System; using System.Collections.Generic; ...
  • 完全数 的算法

    千次阅读 2015-11-26 18:42:11
     * 完全数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数),恰好等于它本身。例如,6就是完全数,6的 约数有1、2、3、6,除去本身6外,1+2+3=6。编程找出10000以内的所有完全数。  */   ...
  • python作业7-如果一个正整数等于除它本身之外其他所有除数之和,就称之为完全数。 例如:6是完全数, 因为6 = 1+2+3; 下一个完全数是28 = 14+7+4+2+1。 求1000以下的完全数 打印出1000以下的完全数 打印出1000以下...
  • 完全数是指其所有因数(包括1但不包括其自身)的和等于该数自身的数,例如,28=1+2+4+7+14就是一个完全数。 代码块: package App; import java.util.*; public class App1 { public static void main(Stri...
  • 求1000以内的完全数

    千次阅读 2018-08-02 08:58:06
    求1000以内的完全数 若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。 例如,6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124 先计算所选取的整数a(a的取值1~1000)的因数,将各...
  • 1. 完全数与亏数、盈数1.1 完全数如果一个数恰好等于它的因子之和,则称该数为“完全数”。各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数...
  • 完全数的java算法实现

    千次阅读 2017-11-19 23:06:35
    本文以10000以内的完全数作为例子完全数:指所有因子之和(包括1但不包括这个数本身)等于其本身的数叫完全数。例如:6=1+2+3。1、2、3都是6的因子。分析:1.第一层循环是遍历10000以内的所有数(不包括1,因为包括1...
  • package Third; /*  * 如果一个正整数等于除它本身之外其他所有除数之和,就称之为完全数...10000以下的完全数有四个,请通过编写的程序找出其他的完全数。  */ public class Demo6 {  public static void main(S
  • 打印1000以内所有完全数

    千次阅读 2018-04-19 22:32:16
    /*打印1000以内所有完全数 * 如果一个正整数等于除了它本身之外所有除数之和,这个数就是完全数 */public class Demo23 { public static void main(String[] args) { for(int num=1;num&lt;=1000;num++) { ...
  • 题目:求出1000以内的所有“完全数”并输出它们(若n的包括1但不包括n本身的所有因子之和等于n,则n为“完全数”。例如6=1+2+3,28=1+2+4+7+14)。 <!DOCTYPEhtml> <htmllang="en"> <head> ...
  • 完全数完全数的所有因数之和等于其本身(1不是完全数) --------如:(6 = 1 + 2 + 3) 思路分析: 找出一个数的全部因数 判断因数之和是否等于本身 代码实现: #include&amp;amp;amp;amp;amp;lt;...
  • 输出1000以内的完全数

    千次阅读 2018-03-29 23:13:13
    输出1000以内的完全数:package com.zrrd; public class WanShu { public static void main(String[] args) { //一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000...
  • 完全数是该数的所有因子之和等于该数的数。 例如,6 的因子有 1、2、3,且 6=1+2+3,所以 6 是完全数。 代码如下: package com.qianfeng.hq.kuozhan; public class Demo8 { public static void main(String[] ...
  • 找出1000以内的完全数

    千次阅读 2016-10-10 20:08:58
    完全数:(Perfect Number)又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。 ...
  • 求正整数m,n间的所有完全数

    千次阅读 2018-09-15 23:01:25
    求正整数m和n之间的完全数(一行一个数)。 完全数:因子之和等于它本身的自然数,如6=1+2+3 #include&amp;amp;lt;iostream&amp;amp;gt; using namespace std; int main() { int m,n,k,sum=0; cin&amp;...
  • 求1到10000所有完全数

    千次阅读 2019-03-26 20:03:01
    /求1到10000所有完全数/ package cn.amjt; public class demo02 { public static void main(String[] args) { for ( int i = 1; i <= 10000; i++) { int sum = 0; ...
  • python-求10000以内的所有完全数

    千次阅读 2020-06-07 23:27:00
    本关任务:编写Python程序,求出10000以内的所有完全数。 相关知识 为了完成本关任务,你需要掌握:  1.while循环语句  2.while循环的嵌套  3.完全数的概念 while循环语句 如果需要在满足条件的情况下重复执行一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,665,543
精华内容 666,217
关键字:

完全数