找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4178|回复: 0
打印 上一主题 下一主题
收起左侧

c语言 (perfect number)既循环又判断的程序

[复制链接]
跳转到指定楼层
楼主
ID:72519 发表于 2015-1-22 02:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//好记性不如烂笔头,把脑子里想的落实到字面上来,有助于逻辑的推进
//这个程序难在输出因子那里,一次性全部因子搞出来

//find perfect number
//首先求出一个数的所有因子
//有for(i=1;i<=1000;i++)
//有if(i==(.+.+.+....))
//是因子就得被整除
//可以先降低难度只判断某个数是不是完数
//首先判断是不是因子,如果是就累加,接下来就是见证奇迹的时刻
#include<stdio.h>
void main()
{
//首先得输入一个整数吧,然后还有因子的和
        int i,sum=0,j;
        //printf("please input an integer:\n");
//        scanf("%d",&i);
        //从1开始判断,用j当做待判断数
        for(i=1;i<=1000;i++)
        {
           for(j=1;j<i;j++)
           {
            if(i%j==0)
                sum=sum+j;
           }
           if(i==sum)
           {        printf("%d its facters are ",i);
           //我的想法是到这里以后既然i是完数了,那么现在再来一次,把他的因子列出来不就行了
           for(j=1;j<i;j++)
           {
            if(i%j==0)
           printf("%d,",j);
           }
           printf("\n");
           }
           sum=0;//这个累加数在循环后要清零,这个很常用
        }
//判断的任务完成后就是for(i=1;i<=1000;i++)
}
//这是一个既循环又判断的程序

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表