急需 用C语言或C++编写的相亲数程序设计 要求为完整的程序(一个系统)一小学期的任务书)万分感谢 !!!!!
急需用C语言或C++编写的相亲数程序设计要求为完整的程序(一个系统)一小学期的任务书)万分感谢!!!!!准确的就是需要关于求相亲数的程序源代码急需谢了...
急需 用C语言或C++编写的相亲数程序设计 要求为完整的程序(一个系统)一小学期的任务书)万分感谢 !!!!!
准确的就是 需要关于求相亲数的 程序 源代码 急需 谢了 展开
准确的就是 需要关于求相亲数的 程序 源代码 急需 谢了 展开
1个回答
展开全部
这个程序不难,但有点复杂,我给你添加了注释,你慢慢看看
#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;
}
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询