PTA

7-45 找完数

网友“云上明月”的程序:

 #include<stdio.h>
int isPerfect(int num); int main() {
int i,j,m,n,exist=;
int maxFactor;
scanf("%d%d",&m,&n);
for(i=m; i<=n; i++) {
maxFactor = isPerfect(i);
if(maxFactor) {
exist = ;
printf("%d =",i);
for(j=; j<i; j++) {
if(i%j==) {
printf(" %d",j);
if(j<maxFactor) printf(" +");
else printf("\n");
}
}
}
}
if(!exist) printf("None");
return ;
} int isPerfect(int num) {
int i,factorSum=,maxFactor=,isPerfect=;
for(i=; i<num; i++) {
if(num%i==) {
factorSum += i;
maxFactor = i;
}
}
if(factorSum == num) {
isPerfect=;
}
return isPerfect*maxFactor;
}

我的部分程序:

int isPerfect(int num){
int i,sum=,max=;
for(i=;i<num;i++){
if(num%i==){
sum+=i;
max=i;
}
}
if(sum==num){
return max;
}
}

差距:

1、变量命名简单,区分度不强

2、没有定义标识是否完全数的变量,这样当要判断的数不是完全数时就不能返回0了

PTA——完全数的更多相关文章

  1. 3.python算法之完全数

    代码: #!/usr/bin/env python # encoding: utf-8 """ @author: 侠之大者kamil @file: 3.完全数.py @t ...

  2. java小程序:求完全数

    如果一个数等于它的不包括自身的所有因数之和,那么这个数就叫完全数.例如,6的不包括自身的所有因数为1,2,3,而且6=1+2+3,所以6是完全数. 大约2200多年前,欧几里德提出:如果2n-1是质数 ...

  3. 浙大PTA - - 堆中的路径

    题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21731 本题即考察最小堆的基本操作: #include "iostrea ...

  4. 浙大PTA - - File Transfer

    题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21732 #include "iostream" #includ ...

  5. ERROR<53761> - Plugins - conn=-1 op=-1 msgId=-1 - Connection Bind through PTA failed (91). Retrying...

    LDAP6.3在DSCC控制台启动实例完成,但是操作状态显示“意外错误”,查看日志如下: 04/May/2016:21:10:39 +0800] - Sun-Java(tm)-System-Direc ...

  6. Java版求1000以内的完全数

    /* * 若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数,简称完数. * 例如:6=1+2+3. * 题目:求1000以内的完全数. */ public cl ...

  7. 1000以内完全数(完美数)获取实现---基于python

    """题目: 如果一个数恰好等于它的因子之和,则称该数为"完全数" .各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的 ...

  8. PTA中提交Java程序的一些套路

    201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...

  9. PTA分享码-Java

    主要用于Java语法练习,非竞赛类题目.   1. Java入门          959dbf0b7729daa61d379ec95fb8ddb0   2. Java基本语法   23bd8870e ...

随机推荐

  1. windows C++删除非空文件夹

    //add by zhuxy 递归删除文件夹 BOOL myDeleteDirectory(CString directory_path) //删除一个文件夹下的所有内容 { BOOL ret=TRU ...

  2. P4725 【模板】多项式对数函数

    思路 考虑对ln求导后处理 根据复合函数的求导法则\(g'(f(x))=g'(x)f'(x)\) 得到 \[ \ln F(x) '= \frac{F'(x)}{F(x)} \] 最后对这个式子积分 \ ...

  3. 线上问题排查(2)——JDK内置工具

    https://www.cnblogs.com/keanuyaoo/p/3253663.html 常用命令目录: jps命令(Java Virtual Machine Process Status T ...

  4. 5、zabbix使用进阶(01)

    详细描述user parameters.定义主机发现规则实现自动发现.如何定义和实现自动注册方式 zabbix常用术语 1.主机(host):要监控的网络设备,可有IP或DNS名称指定: 2.主机组( ...

  5. 获取添加数据的自增ID

    $id= DB::select("select auto_increment from information_schema.`TABLES` where table_name='stude ...

  6. Executors创建线程池的几种方式以及使用

    Java通过Executors提供四种线程池,分别为:   1.newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.   ...

  7. 调用系统命令 os.system()和os.popen()

    Python中os.system和os.popen区别 Python调用Shell,有两种方法:os.system(cmd)或os.popen(cmd)脚本执行过程中的输出内容.实际使用时视需求情况而 ...

  8. Python 小节回顾

    1.python程序是大小写敏感. 2.python中字符串是用单引号 ' 或双引号 " 括起来的任意文本. python中用 r '  ' 表示 ' ' 内部的字符串不转义. 3.在pyt ...

  9. Dockerfile命令大全

    Dockerfile 制作Dockerfile为Docker入门学习的第一步. Dockerfile可以快速的帮助我们去构建镜像, 是在工作中必备的一项技能, 下面整理了一些命令 FROM 功能为指定 ...

  10. 搭建openstf平台的那些事

    最近老板建议秀下肌肉,搭建一个STF android 真机测试平台,记录一下坑. 1. stf 是node开发的,通过npm即可安静,依赖的数据库是rethinkdb, 如果搭配appium效果更佳, ...