求亲密数对
YOYO
posted @ 2009年3月12日 21:28
in 【算法】与【数据结构】
with tags
亲密数对
, 2373 阅读
-
#include<iostream>
-
using namespace std;
-
-
int getSumOfFactors(int n){
-
int sum = 1;
-
for(int i=2; i<=n/2; i++){
-
if(n%i==0)sum+=i;
-
}
-
return sum;
-
}
-
-
void getChummyPairs(int A[][2], int start, int end, int &n){
-
for(int i = start; i<=end; i++){
-
int j = getSumOfFactors(i);
-
if(j>=i)continue;
-
if(getSumOfFactors(j)==i){
-
A[n][0] = j, A[n][1] = i;
-
n++;
-
}
-
}
-
}
-
-
int main(){
-
int A[500][2];
-
int start,end;
-
int n = 0;
-
-
cout<<"请输入范围下界:";
-
cin>>start;
-
cout<<"请输入范围上界:";
-
cin>>end;
-
-
getChummyPairs(A,start,end,n);
-
-
cout<<"在"<<start<<"~"<<end<<"范围内的亲密数对有"<<n<<"对:"<<endl;
-
for(int i = 0; i<n; i++){
-
cout<<A[i][0]<<" "<<A[i][1]<<endl;
-
}
-
-
return 0;
-
}
- 无匹配