c++趣味整数(2)——亲密数

**题目描述
假设两个正整数A 和 B是亲密数,那么有如下的性质:
整数A的全部真约数(包括1,不包括A本身)之和等于B;
整数B的全部真约数(包括1,不包括B本身)之和等于A。
比如:220 和 284
220的全部真约数有:1+2+4+5+10+11+20+22+44+55+110 = 284
284的全部真约数有:1+2+4+71+142 = 220
这一题的思路就是你要判断他究竟是不是亲密数,这一题比趣味整数(1)更有难度,详情请看:https://blog.csdn.net/XXAndysyc/article/details/108285576这一题需要用到双重循环,而且是一重循环里面有两个循环。
备注:(i=第一重,j=第二重)
①:第一个j循环就是从1~i-1,判断“i”的因数有多少个,并且要计算出因数之和s1
②:第二个j循环是从1~s1-1,判断s1是否是第二个循环中j的倍数,如果是的话,同样要计算出因数之和s2
③:最后判断如果s2==i&&i<s1&&s1<=y(x是A,y是B)那么就输出i和s1的值。
④:为什么我说for循环要到-1的位置呢?因为题目说了不包括它本身的数。
⑤:代码截图:
**
①:定义变量:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值