关闭

完美数

标签: 数学
629人阅读 评论(3) 收藏 举报
分类:
完美数:除了它本身外的约数的和恰好等于它本身

不完美数有两类:真因子的和大于它本身的数——盈数,小于的是亏数。

ecnu 1197 完美数
输入一个数字判断是盈数,亏数,还是完美数。
利用因子和公式解决。
(代码不知道正确不,进不了OJ)

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long LL;
// rho = 连乘 (q^(n+1)-1)/(q-1)
int main()
{
    int n;
    while(cin>>n&&n){
        int t=n;
        LL ans=1;
        for(int i=2;i*i<=t;i++){
            if(t%i==0){
                LL r=1;
                while(t%i==0){
                    r=r*i;
                    t/=i;
                }
                ans=ans*(r*i-1)/(i-1);
                if(ans>2*n)  break;
            }
        }
        if(ans>2*n) {
             printf("1\n");
             continue;
        }
        if(t>1) {
            ans=ans*(1+t);
        }
        if(ans>2*n) printf("1\n");
        else if(ans==2*n) printf("0\n");
        else printf("-1\n");
    }
    return 0;
}

sdut 1220 完美数
输出一定范围内的完美数。
完美数是很少的。打表。

#include <iostream>
#include <cstdio>
using namespace std;
int num[10]={
6,
28,
496,
8128,
33550336,
};
int main()
{
    int a,b;
    while(cin>>a>>b&&(a+b)){
        int sta[10],top=0;
        for(int i=0;i<5;i++){
            if(num[i]<=b&&num[i]>=a){
                sta[top++]=num[i];
            }
        }
        if(top>0){
            for(int i=0;i<top-1;i++) printf("%d ",sta[i]);
            printf("%d\n",sta[top-1]);
        }
        else printf("No\n");
    }
    return 0;
}


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

JAVA求解完美数

1、概念 首先我们理解一下,什么jiaoz
  • ljtyzhr
  • ljtyzhr
  • 2014-08-31 19:46
  • 1640

完美数简介及算法分析

完美数简介 各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它...
  • u011439689
  • u011439689
  • 2013-12-20 16:24
  • 2114

java基础算法学习之完全数的求解

这篇文章说说完全数的求解,这里我想说的是这个代码的思路,因为要实现这个功能的话,真的不难,完全数,就是所有的因子相加等于这个数,那么这样的数就被称为是完全数,这篇代码中的思想是在一个范围内,每次遍历一个数,然后保存两次这个数,一个用于是求因子,另一个求是否最后和为0,感觉如果是我第一次想的话,应该是...
  • justperseve
  • justperseve
  • 2016-04-30 14:48
  • 1681

Java实现完全数(Perfect number)

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
  • u014282557
  • u014282557
  • 2017-06-04 11:38
  • 974

素数表+因式分解+完美数

1 素数 素数即质数,指在大于1的自然数中,除了1和此整数自身外无法被其它自然数整除的数。 1.1 试除法 该方法用于验证一个数是否为素数。例求x是否为素数,只需要验证1到中是否存在一个数位x的约数,即能被x整除。 1.2 Eratosthenes方法 该方法用于高效的求出小于任何数N的所有素数。该...
  • woniu317
  • woniu317
  • 2013-12-16 20:06
  • 1684

第16周-完美数(改进版提高了效率)

 问题及代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:num.cpp *作 者:单昕昕 *完成日期:2014年12月12日 *版 本 号:v1.0 * *问题描述:任何一个自然数...
  • MIKASA3
  • MIKASA3
  • 2014-12-12 13:24
  • 597

c语言求完全数

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

ACdream 完美数

这道题目我是从学长博客上看到的,我自己先尝试打了一段 发现动归方程跟学长差不多,满怀信心的交上去WA,好吧,可能是我哪里没想到,但是WA了几次后我开始比较学长的代码 最后发现我对数位dp了解的远远不够透彻,今天我对了学长的代码想了一天,最后终于AC了,虽说借鉴的代码和变量太多相似了,但是我对数位dp...
  • zhao9642
  • zhao9642
  • 2015-08-07 19:56
  • 250

51nod 1232:完美数

1232 完美数 题目来源: 胡仁东 基准时间限制:2 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  关注 如果一个数能够被组...
  • u010885899
  • u010885899
  • 2016-04-27 21:12
  • 713

算法:完美数

转载请注明出处:http://blog.csdn.net/awebkit 感谢 http://qiuchixue.blogspot.fr/2006/10/knuthperfect-number.html  http://blog.csdn.net/wall_f/artic...
  • awebkit
  • awebkit
  • 2013-03-21 15:26
  • 3210
    个人资料
    • 访问:331302次
    • 积分:8856
    • 等级:
    • 排名:第2517名
    • 原创:575篇
    • 转载:13篇
    • 译文:0篇
    • 评论:36条
    我的链接
    最新评论