Numerele naturale x și y sunt numite în armonie dacă suma lor aparține intervalului deschis definit de suma divizorilor lui x, respectiv suma divizorilor lui y.
Subprogramul armonie are doi parametri, x şi y, prin care primește câte un număr natural din intervalul [1,106]. Subprogramul returnează valoarea 1, dacă x și y sunt în armonie, sau valoarea 0 în caz contrar.
Scrieți definiția completă a subprogramului.
Exemplu: dacă x=8, iar y=12 subprogramul returnează 1 (1+2+4+8=15, 1+2+4+6+12=25, iar 8+12=20(15,25)), iar dacă x=8 și y=13, subprogramul returnează 0 (1+2+4+8=15, 1+13=14, iar 8+13=21(14,15)).
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
int armonie(int x, int y){
int s,d,sum=x+y;
for(int i=1;i*i<=x;i++){
if(x%i==0){
s+=i;
s+=x/i;
}
if(i*i==x){
s-=i;
}
}
for(int i=1;i*i<=y;i++){
if(y%i==0){
d+=i;
d+=y/i;
}
if(i*i==y){
d-=i;
}
}
if(s<sum && sum<d){
return 1;
}
return 0;
Explicație:
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Geografie,
9 ani în urmă