请问这个程序哪错了,输入400后,答案应该是220,284,但却一个答案也没现出。

求数n之内的亲密对数。所谓“亲密对数”,即A的所有因子(包含1但不包含其本身)之和等于B,而B的所有因子之和等于A。

我的程序:

#include<iostream>

using namespace std;

int main(){

int spouse(int);

int v,n,i,add;

cin>>n;

for(i=2;i<n;i++)

   {

  add=spouse(i);

  v=spouse(add);

  if(add==v&&add!=v)

  cout<<i<<" "<<add;}

return 0;

int spouse(int add)

{

    int t,sum=0;

   for(t=1;t<=add;t++)

    {  if(add%t==0) 

sum=sum+t;}

       return sum; 

}


qq_我是谁_45
浏览 1891回答 3
3回答

xungeer29

#include<iostream>using namespace std;int spouse(int);int main() { int v, n, i, add; cin >> n; for (i = 2; i<n; i++) {  add = spouse(i);  v = spouse(add);  if (i==v&&i!=add)   cout << i << " " << add << endl; } return 0;}int spouse(int add){ int t, sum = 0; for (t = 1; t < add; t++) {  if (add%t == 0)   sum = sum + t; } return sum;}
打开App,查看更多内容
随时随地看视频慕课网APP