| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1098 人关注过本帖
标题:“完数”程序问题
只看楼主 加入收藏
努力学编程
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-8-25
收藏
得分:0 
nwpu063417是对的!
2007-08-26 12:24
fengzar
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-10-27
收藏
得分:0 

/*一个数如果恰好等于它的各因子(该数本身除外)子和,
如:6=3+2+1,则称其为"完数";若因子之和大于该数,则
称其为"盈数"。
求出2到60之间所有"完数"和"盈数",并以如下形式输出?
E: e1 e2 e3 ......(ei为完数) G: g1 g2 g3 ......(gi为盈数)
*/
#include <stdio.h>
#define max 60
int input(int n) //每一个输入数据的因数和
{
int m, sum = 0;
for(m = 1; m < n; m++)
{
if(n%m == 0)
sum += m;
}
return sum;
}

void main()
{
int data; //输入判断的数据
int t, i = 0, j = 0; //因数和t,i和j为循环变量
int w[max], y[max]; //所求的数组
for(data = 2; data <= 60; data++)
{
t = input(data);
if(t > data) //判断赢数
{
w[i] = data;
i++;
}
if(t == data) //判断完数
{
y[j] = data;
j++;
}
}
printf("print wanshu:\n");
i--;
for(; i >= 0; i--)
{
printf("w:%d\n",w[i]); //输出完数
}
printf("print yingshu:\n");
j--;
for(; j >= 0; j--)
{
printf("y:%d\n",y[j]); //输出赢数
}
}
//此程序通过vc6.0调试通过

2007-08-26 17:20
快速回复:“完数”程序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017625 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved