Răspuns :
#include<iostream>
using namespace std;
int main()
{
int a,sa,b,sb,d;
cin>>a;
cin>>b;
sa=1;
for(d=2;d<=a/2;d++)
if(a%d==0)
sa=sa+d;
if(sa==b)
{
sb=1;
for(d=2;d<=b/2;d++)
if(b%d==0)
sb=sb+d;
if(sb==a)
cout<<"PRIETENE";
}
else
cout<<"NU SUNT PRIETENE";
}
Problema de mai sus este corecta si rezolva o pereche de numere prietene ( prob Prietene de pe pbinfo). Tu vrei perechi de numere prietene intr-un interval. Ti-am facut o sursa C++ care respecta cerinta din problema ta. Succes!
#include <bits/stdc++.h>
int a, b, x, y, k, s1, s2, i;
using namespace std;
int main()
{
cin >> a >> b;
for(x = a; x <= b; x ++)
for(y = b; y >= a; y --)
{
s1 = 0;
for (i = 1; i * i < x; i ++)
if (x % i == 0) s1 = s1 + i + x / i;
if (i * i == x) s1 = s1 + i;
s2 = 0;
for (i = 1; i * i < y; i ++)
if (y % i == 0) s2 = s2 + i + y / i;
if (i * i == y) s2 = s2 + i;
if (s1 - x == y && s2 - y == x && x != y) cout << x << " " << y << "\n";
}
return 0;
}
#include <bits/stdc++.h>
int a, b, x, y, k, s1, s2, i;
using namespace std;
int main()
{
cin >> a >> b;
for(x = a; x <= b; x ++)
for(y = b; y >= a; y --)
{
s1 = 0;
for (i = 1; i * i < x; i ++)
if (x % i == 0) s1 = s1 + i + x / i;
if (i * i == x) s1 = s1 + i;
s2 = 0;
for (i = 1; i * i < y; i ++)
if (y % i == 0) s2 = s2 + i + y / i;
if (i * i == y) s2 = s2 + i;
if (s1 - x == y && s2 - y == x && x != y) cout << x << " " << y << "\n";
}
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!