急需 用C语言或C++编写的相亲数程序设计 要求为完整的程序(一个系统)一小学期的任务书)万分感谢 !!!!!

急需用C语言或C++编写的相亲数程序设计要求为完整的程序(一个系统)一小学期的任务书)万分感谢!!!!!准确的就是需要关于求相亲数的程序源代码急需谢了... 急需 用C语言或C++编写的相亲数程序设计 要求为完整的程序(一个系统)一小学期的任务书)万分感谢 !!!!!
准确的就是 需要关于求相亲数的 程序 源代码 急需 谢了
展开
 我来答
火驹
2008-06-19 · TA获得超过1447个赞
知道小有建树答主
回答量:6294
采纳率:0%
帮助的人:1703万
展开全部
这个程序不难,但有点复杂,我给你添加了注释,你慢慢看看
#include <stdio.h>
#include <stdlib.h>
int main()
{
long a;
long i,j,sum1,sum2;
long num[100];
int cnt=0,flag;
for(a=2;a<10000000;a++) //a从小到大开始遍历
{
flag=0;
sum1=0;
sum2=0;
for(i=1;i<=a/2;i++) //寻找a的约数
if(a%i==0)
sum1+=i; //找到一个约数就加到总和里
for(j=1;j<=sum1/2;j++) //看由约数之和组成的新数的约数
if(sum1%j==0)
sum2+=j; //新数的约数相加
for(i=0;i<cnt;i++)
if(a==num[i]) //若一对相亲数的大一点的数已经找到了,就不用再列出来了
{
flag=1;
break;
}
if(flag==1)
continue;
if(sum2==a && sum1!=a) //若两个数满足相亲数,且不相等
{
printf("%ld和%ld是一对相亲数\n",a,sum1);
num[cnt]=sum1; //将第二个相亲数存入数组,防止重复输出
cnt++;
}
}

system("PAUSE");
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式