找2-1000 中的亲密数对(如果a的因子和等于b,b的因子和等于a,且a不等于b,则称a,b为亲密数对)
C语言的题目
#include <stdio.h>
int sum_of_divisors(int num) {
int sum = 0;
for (int i = 1; i <= num / 2; i++) {
if (num % i == 0) {
sum += i;
}
}
return sum;
}
int main() {
int a, b;
for (a = 2; a <= 1000; a++) {
b = sum_of_divisors(a);
if (a != b && sum_of_divisors(b) == a) {
printf("%d和%d是亲密数对\n", a, b);
}
}
return 0;
}
sum_of_divisors 函数计算一个数的因子和,main 函数则在 2 到 1000 的范围内依次检查每个数和其因子和是否满足亲密数对的条件,如果满足则输出这对亲密数。
#include<stdio.h>
/*********Begin*********/
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
/*********Begin*********/
int *p1,*p2;
p1 = &b;
p2 = &a;
printf("%d ",*p1);
printf("%d",*p2);
/*********End**********/
return 0;
}