C++——列举亲密数

news/2025/2/26 17:32:20


描述:

两个整数a和b,如果a的不包含自身的因子之和等于b,并且b的不包含自身的因子和等于a,且a不等于b,则称a,b为一对亲密数
找出满足a<=10000且b<=10000的全部亲密数对。
A pair of close numbers(a and b) is defined as follows: the sum of a’s factors equals b and the sum of b’s factors equals a,but a does not equals b.Find all close numbers which are not greater than 10000.

输入:

本题无输入。
None

输出:

升序输出所有满足条件的数对,每对数字一行,小数字在前,大数字在后,用空格分隔。注意:本题要求程序效率要高,直接写成二重循环肯定超时。
Output all pair of close numbers in ascending order,and each pair occupies one line with the smaller one in front and the pair is separated by a space.




答案如下:

#include<iostream>
using namespace std;
int factors(int);       //自定义一个求因子和的函数
int main(){           //函数主体
 int sum;
 for(int a=2;a<10000;a++)
 {
  sum=factors(a);       //引入自定义函数
  if((a==factors(sum))&&a<sum)   // 判断a的因子和求得的因子和是否等于a,且a小于它的因子和
  {
   cout<<a<<" "<<sum<<endl;    //输出a,空格和a的因子
  }
 }
 return 0;
}
int factors(int b)    //自定义求因子和的函数
{
 int s=b/2;
 int sum=0;
 for(int i=1;i<=s;i++)
 {
  if(b%i==0) sum+=i;
 }
 return sum;     //返回sum
}


http://www.niftyadmin.cn/n/709919.html

相关文章

39 判定字符位置

39 判定字符位置 作者: Turbo时间限制: 1S章节: 基本练习&#xff08;字符串&#xff09; 问题描述 : 返回给定字符串s中元音字母的首次出现位置。英语元音字母只有‘a’、‘e’、‘i’、‘o’、‘u’五个。   若字符串中没有元音字母&#xff0c;则返回0。   只考虑小写…

分布式事务一致性实现的方式总结

因为最近项目正在做重构&#xff0c;而这次重构实质上比原来更接近于SOA化和微服务的思想。对于我们金融交易来说&#xff0c;数据结果的准确性是重中之重。所以今天总结一下分布式事务的实现方法&#xff0c;下次组内周会给大家统一一下概念。 刚性事务和柔性事务 刚性事务&am…

40 最大相同子串

40 最大相同子串 作者: Turbo时间限制: 1S章节: 字符串 问题描述 : 输入两个字符串,获取两个字符串中最长相同子串并输出。 如果有多个相同子串&#xff0c;则输出&#xff08;按ASCII排序&#xff09;最小的那个“最长相同子串”。 如果无相同子串&#xff0c;则输出空字…

A strange lift (奇怪的电梯)

这道题的意思就是有一个n成楼的电梯&#xff0c;每层楼都有一个数字ki表示从这一楼可以上当前楼层数加上ki楼&#xff0c;或者下当前楼层数减去ki&#xff0c; 题目描述&#xff1a;There is a strange lift.The lift can stop can at every floor as you want, and there is a…

C语言——推箱子

描述&#xff1a; 有一个房间&#xff0c;房间里有一个人P&#xff0c;房间是规格为 n*n的方格&#xff0c;房子内某些位置上有箱子B&#xff0c;有些位置上有障碍物&#xff0c;人处于某一位置&#xff0c;可以选择向右方向前进&#xff0c;但要保证面对的不是墙、障碍物&…

今天,我们求知若渴、虚心若愚(附技术PPT)

春暖花开的三四月&#xff0c;侑虎科技的技术小伙伴穿枝拂叶&#xff0c;走过了漕河泾、张江高科、天地软件园&#xff0c;近日又前往了充满小资格调的艺术与科学湾。在这里&#xff0c;技术开放日《性能优化、进无止境》正在举行。 沿袭我们一向真诚开放的风格&#xff0c;大家…

41 冰雹数

41 冰雹数 作者: Turbo时间限制: 1S章节: 循环 问题描述 : 任意给定一个大于1的正整数N&#xff0c; 如果是偶数&#xff0c;执行&#xff1a; N / 2 如果是大于1的奇数&#xff0c;执行&#xff1a; N * 3 1 生成的新的数字再执行同样的动作&#xff0c;循环往复。 通过观…

C++——判身份证号码真伪

&#xfeff;&#xfeff; 描述&#xff1a; 某个国家的身份证号码的构成具有如下规则&#xff1a; 所有的身份证号由18位字符组成&#xff0c;前17位均为数字0-9,最后一位可以是数字0-9或者大写字母Y。 身份证号的最后一位可以由前17位计算得出&#xff0c;计算方法是&#x…