自定义函数
#include<bits/stdc++.h>
using namespace std;
//求n的因子和自定义函数
int yinzihe(int n){//使用2~sqrt(n)成对求解因子和
int r=0,i;//变量 r 初始值为0,因为要存放因子和
for(i=2;i<=sqrt(n);i++) {//回顾sqrt()课程
//如果 i 是 n 的因子,先判断两个数值是否相等
if(n%i==0){
if(i!=n/i){//不相等,加两个
r=r+i+n/i;
}else{
r=r+i;//相等,加一个
}
}
}
return r;//定义返回值 r
}
int main() {//测试函数(养成习惯)
int x=yinzihe(48);
cout<<x<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
//求n的因子和自定义函数
int yzhe(int n){//使用2~sqrt(n)成对求解因子和
int r=0,i;//变量 r 初始值为0,因为要存放因子和
for(i=2;i<=sqrt(n);i++) {//回顾sqrt()课程
//如果 i 是 n 的因子,先判断两个数值是否相等
if(n%i==0){
if(i!=n/i){//不相等,加两个
r=r+i+n/i;
}else{
r=r+i;//相等,加一个
}
}
}
return r;//定义返回值 r
}
int main() {//循环找亲密数对
int n,i,x;//n输入的值,i 循环变量,x 结果
cin>>n;//输入值
for(i=1;i<=n;i++){
x=yzhe(i);//将 i 的因子和给到 x
//如果 x 的因子和是 i,并且两数不相等,是亲密数对
if(yzhe(x)==i&&i!=x){
//在判断中直接调用函数语句
cout<<i<<" "<<x<<endl;
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
//求n的因子和自定义函数
int yzhe(int n){//使用2~sqrt(n)成对求解因子和
int r=0,i;//变量 r 初始值为0,因为要存放因子和
for(i=2;i<=sqrt(n);i++) {//回顾sqrt()课程
//如果 i 是 n 的因子,先判断两个数值是否相等
if(n%i==0){
if(i!=n/i){//不相等,加两个
r=r+i+n/i;
}else{
r=r+i;//相等,加一个
}
}
}
return r;//定义返回值 r
}
int main() {//循环找亲密数对
int n,i,x;//n输入的值,i 循环变量,x 结果
cin>>n;//输入值
for(i=1;i<=n;i++){
x=yzhe(i);//将 i 的因子和给到 x
//如果 x 的因子和是 i,并且两数不相等,是亲密数对
if(yzhe(x)==i&&i!=x&x<=n){//程序优化
//在判断中直接调用函数语句
cout<<i<<" "<<x<<endl;
}
}
return 0;
}