北航机试15-1

一、相亲数 【题意】 
如果对于两个大于1的正整数x和y,x除了本身以外的因子之和等于y,y除了本身以外的因子之和等于x,则称x和y是一对相亲数。 
比如220除了本身以外的因子之和110+55+44+22+20+11+10+5+4+2+1=284,而284除了本身以外的因子之和142+71+4+2+1=220,则220和284就是一对相亲数。 
请你编写一个程序计算x和y分别除了本身以外的因子之和,并判断x和y是不是一对相亲数。x和y为大于1的int范围内的整数。  

【输入】

x和y,空格隔开。 

【输出】 

第一行输出x,一个逗号,x的除了本身以外的因子之和的计算过程(见题意,要求降序输出每个因子),不要有多余的空格。 
第二行输出y,一个逗号,y的除了本身以外的因子之和的计算过程(见题意,要求降序输出每个因子),不要有多余的空格。 
第三行,如果x和y是一对相亲数输出1,否则输出0。文末换行可有可无。  

【样例1】 

标准输入 

220 284 

标准输出 

220,110+55+44+22+20+11+10+5+4+2+1=284 

284,142+71+4+2+1=220 

【样例2】 

标准输入 

1184 1120

标准输出  

1184,592+296+148+74+37+32+16+8+4+2+1=1210 

1120,560+280+224+160+140+112+80+70+56+40+35+32+28+20+16+14+10+8+7+5+4+2+1=1904 

0

#include<iostream>
using namespace std;
int find_cp(const int num,int (&cp)[1000])
{
	int temp=num-1;
	int count=0;
	int sum=0;
	while(temp>0)
	{
		if(num%temp==0) 
		{
			cp[count]=temp;
			sum+=temp;
			count++;
		}
		temp--;
	}
	return sum;
}
void main()
{
	int a,b;
	while((cin>>a)&&(cin>>b))
	{
		int cp_a[1000]={0};
		int cp_b[1000]={0};
		int sum_a,sum_b;
		sum_a=find_cp(a,cp_a);
		sum_b=find_cp(b,cp_b);
		cout<<a<<",";
		int i=0;
		for(i=0;cp_a[i]!=0;i++)
		{
			cout<<cp_a[i];
			if(cp_a[i+1]!=0)cout<<"+";
		}
		cout<<"="<<sum_a<<endl;
		cout<<b<<",";
		for(i=0;cp_b[i]!=0;i++)
		{
			cout<<cp_b[i];
			if(cp_b[i+1]!=0)cout<<"+";
		}
		cout<<"="<<sum_b<<endl;
		if((sum_a==b)&&(sum_b=a))cout<<"1"<<endl;
		else cout<<"0"<<endl;
	}
}

数组的引用。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值