Buenas el problema me pide que dado un intervalo me diga los numeros amigos que hay en ese intervalo.
Código C++:
Ver original#include <iostream>
using namespace std;
int divisor(int a){
int x=1, y=0, r;
for(int cont=1;cont<a;cont++){
if(a%x == 0 and x!=a){
r=a%x;
x++;
}
else{
y=y+r;
x++;
}
}
return y;
}
int divisor1(int b){
int w=1, z=0, t;
for(int cont=1; cont<b; cont++){
if(b%w == 0 and w!=b){
t=b%w;
w++;
}
else{
z=z+t;
w++;
}
}
return z;
}
int main() {
int n, m, a, b;
cout<<"Introduce un intervalo dando dos numeros: ";
cin>>n>>m;
a=n;
b=n++;
for(int i=1;i<(m-n);i++){
if((divisor(a) == b) && (divisor1(b)==a)){
a++;
cout <<"El numero "<<a<<" es amigo del numero "<<b<<endl;
}
else{
a++;
b++;
}
}
return 0;
}
Me podrian decir donde fallo o darme una posible solucion. Gracias