题目

解决代码及点评

完数的解决方案依旧是遍历,然后写出判断完数的函数进行处理


/************************************************************************/
/*
16. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如,6 的因子为1、2、3,而6=1+2+3,因此6 是“完数”。编程序找出1000之内的所有完数,
并按下面格式输出其因子:
6 its factors are 1,2,3 */
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

// 判断一个数是否完数的函数
bool f416(int num)
{
	int arr[100]={0};
int index=0;
int sum=0;
	// 查找它的所有因子,再将因子累加
for (int i=1;i<num;i++)
{
if (num%i==0)
{
sum+=i;
arr[index++]=i;
} }
	// 如果因子累加的和是它自己本身,那么这个数是完数
if (sum==num)
{
printf(" %5d its factors are",num);
for (int i=0;i<index;i++)
{
printf("%5d",arr[i]);
}
return true;
}
else
{
return false;
}
}
void main()
{
for (int i=1;i<=1000;i++) // 遍历1000个数
{
if (f416(i)) // 判断是不是完数
{
printf("\n");
}
} system("pause");
}

代码下载及其运行

代码下载链接:

http://download.csdn.net/detail/yincheng01/6640945

解压密码为c.itcast.cn

下载解压后用VS2013打开工程文件

点击 “本地Windows调试器” 执行

程序运行结果




基于visual Studio2013解决C语言竞赛题之0416完数的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之0302字符数出

     题目 解决代码及点评 根据题目要求,只要根据用户输入的字母,判断字母之后,给出相应的输出即可 在以下代码中,f32函数实现了该功能,通过if条件判断语句 #include <stdio.h ...

  2. 基于visual Studio2013解决C语言竞赛题之0413同构数

       题目 解决代码及点评 该题目与水仙花数类似,只是条件不同,循环还是一样的 /***************************************************** ...

  3. 基于visual Studio2013解决C语言竞赛题之0505选数

     题目

  4. 基于visual Studio2013解决C语言竞赛题之1019填数

         题目 解决代码及点评 /* 19. 找3个数字,填在下面式子中,使等式成立. _6325 = 6325_ × ____ (等号左边是五位) 1,若答案有多个,则打印一组即 ...

  5. 基于visual Studio2013解决C语言竞赛题之1031猜数

          题目 解决代码及点评 /* 31. 猜号码∶由随机函数产生一个1至1000之间的整数,让人猜之. 计算机仅回答人猜的数大.小还是相等,当人猜对时, 由计算机打印出人 ...

  6. 基于visual Studio2013解决C语言竞赛题之1060寻找回文数

       题目 解决代码及点评 /* 60. 回文数指左右数字对称的数,如121,2112都是回文数.回文数猜想:取一任意十进制数,将其倒过来,并将这两个数相加, 然后把这个相加的和倒过来再与 ...

  7. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  8. 基于visual Studio2013解决C语言竞赛题之0205位数求和

     题目

  9. 基于visual Studio2013解决C语言竞赛题之0201温度转换

    题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...

随机推荐

  1. Java多线程编程中Future模式的详解

    Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker模式.Guarded Suspeionsion模式.不变模式和生产者-消费者模式等.这篇文章主要讲述Futu ...

  2. perl5 第六章 模式匹配

    第六章 模式匹配 by flamephoenix 一.简介二.匹配操作符三.模式中的特殊字符  1.字符+  2.字符 []和[^]  3.字符 *和?  4.转义字符  5.匹配任意字母或数字  6 ...

  3. Linux系统服务 1 ---- rSyslog日志服务

    1 日志 1 日志是系统用来记录系统运行时候的一些相关的信息的纯文本文件 2 日志的目的是保存相关程序的运行状态,错误信息等.为了对系统进行分析,保存历史记录以及在出现错误的时候发现分析错误使用 3 ...

  4. 取代奶瓶Minidwep-gtk 破 WPA 全攻略

     目录 1. CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 2. 自带的字典破解不出密码时使用 U 盘外挂字典继续暴力破解密码 3. 将握手包拷贝到 Windows ...

  5. java软件工程师成长过程的学习

    第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架: *第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及: *第三阶段: ...

  6. LKD3

    第三章 进程1. Unix操作系统的抽象:进程和文件2. 进程包括两个因素:可运行代码,和资源(打开的文件,挂起的信号,内核内部数据,处理器状态,地址空间)3. 线程是进程中活动的对象.4. 线程有独 ...

  7. C#语言基础之转义字符、变量、常量、类型转换

    1.转义字符: Tab键:/t    反斜杠://   单引号:/’   双引号:/”   回车:/r   换行:/n 警告:/a      退格:/b    换页:/f      空:/0 2.变量 ...

  8. Lowest Common Multiple Plus

    Lowest Common Multiple Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...

  9. c# 流程控制

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. java集群

    java集群 分类: java学习2011-05-12 09:12 7531人阅读 评论(9) 收藏 举报 java服务器负载均衡ejb集群数据库 序言 越来越多的关键应用运行在J2EE(Java 2 ...