一道定义函数C程序题目
题目
一道定义函数C程序题目
若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数.例如,6的因子之和为1+2+3=6,因此6与6为一对亲密数(即6自身构成一对亲密数);又如,220的因子之和为l+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和为1+2+4+71+142=220,因此,220与284为一对亲密数.编写程序,求500以内的所有亲密数对,如下图所示.
6--6
28--28
220--284
496--496
要求:
1、定义函数int sumfact(int n),该函数的功能是返回参数n的因子的和
2、在主函数中调用sumfact函数,输出500以内的亲密数
3、分别划出main函数和sumfact函数的流程图
我的编程写成:
#include
int sumfact(int n);
main(){
int i=1,j=1;
printf("亲密数对:
");
for(i=1;i
答案
有一个方法能简单的解决这个问题,按照题目的意思,亲密数可以说就两种情况,
第一种是两个数相同的,如:6--6,28--28
第二种是前一个数大,后一个数小:如220--284
你会说还一种情况,前一个数小,后一个数大,这种情况必然是和第二种情况重复的,仔细想想就明白了,所以加一个if判断就行:(只有在第一个数小于或者等于第二个数的情况才输出)
if(sumfact(i)==j&&sumfact(j)==i)
{
if(i
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点
- 为了使称量误差(万分之一天平)小于0.1%,取样时应大于多少? 20mg 200mg 2g?为什么?
- (1/4)^x ≤1%
- 如果等腰三角形底边上的高等于腰长的一半,那么这个等腰三角形的底角等于_度.
- 纯水25度和80度时哪个PH大?
- 水的分解要吸收热量,试从化学键变化角度分析其原因
- 撑杆跳运动员开始起跳前的助跑时,他就获得了__能,而撑杆柱在地上起跳,杆变弯,他的__能转化为杆子的__
- 已知数列{an}a1=1,an+1=Sn(n+2)/n ,(n 属于 N*) 证明n∈N0,使sn>2007恒成立
- 某市税收统计年鉴数据统计显示,该市2007年完成各项税收450亿元,2002年完成180亿元,则该市近五年税收的平均增长率是___
- 英语文章句子都读懂了,但问题理解不对,怎么回事?
- 描写植物的作文1000字