**题目描述
假设两个正整数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.youkuaiyun.com/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的位置呢?因为题目说了不包括它本身的数。
⑤:代码截图:
**
①:定义变量:
②:两个for循环
第一个:
第二个:
等关注了再发布~~~
拿走了代码,记得点赞!!!有兴趣可以关注我哦!
也可以加入火箭工作室(13950392436)微信号!!!
自守数代码