#include<bits/stdc++.h> using namespace std; int qms(int x) { //计算亲密数 qms =亲密数 int res = 0; for(int i=1; i<=x/2; i++) { if(x % i == 0) { res += i; } } return res; } int main(){ int m, n; scanf("%d %d", &m, &n); if(m > n) swap(m, n); //这句不能省 for(int i = m; i<n; i++){ int j = qms(i); //j是i的亲密数,再对j求亲密数,若这个结果等于i,那就说明互为亲密 if(qms(j) == i && i != j && i < j){ //题目要求输出小的在前,大的在后。亲密数定义二者不能相等 printf("%d %d\n", i, j); } } return 0; } |
Double click to view unformatted code.