

Một cặp số được gọi là thân thiết nếu số này bằng tổng tất cả các ước thực sự của số kia và ngược lại.
VD:
220 và 284 là cặp số thân thiết vì tổng các ước số của 220 là: 1+2+4+5+10+11+20+22+44+55+110=284 và tổng các ước số của 284 là 1+2+4+71+142=220.
Yêu cầu: Hãy viết chương trình kiểm tra xem 2 số nhập vào có phải là số thân thiết hay không. Nếu phải thì in ra 'YES', ngược lại in ra 'NO'.
Dữ liệu: Một dòng ghi 2 số nguyên a, b (0<a,b<=106).
Kết quả: In ra YES nếu a, b là số thân thiết và in ra NO nếu ngược lại.
cái này mình thử làm ma sai ai sửa giúp đc ko?
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a,b,c,d,i;
c=0;
d=0;
cin>>a>>b;
for (i=1;i<=a-1;i=i+1)
{
if (a%i==0)
c=c+i;
}
for (i=1;i<=b-1;i=i+1)
{
if (b%i==0)
d=d+i;
}
if ((a=d) and (b=c))
cout<<"YES";
else
cout<<"NO";
}
VD:
220 và 284 là cặp số thân thiết vì tổng các ước số của 220 là: 1+2+4+5+10+11+20+22+44+55+110=284 và tổng các ước số của 284 là 1+2+4+71+142=220.
Yêu cầu: Hãy viết chương trình kiểm tra xem 2 số nhập vào có phải là số thân thiết hay không. Nếu phải thì in ra 'YES', ngược lại in ra 'NO'.
Dữ liệu: Một dòng ghi 2 số nguyên a, b (0<a,b<=106).
Kết quả: In ra YES nếu a, b là số thân thiết và in ra NO nếu ngược lại.
cái này mình thử làm ma sai ai sửa giúp đc ko?
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a,b,c,d,i;
c=0;
d=0;
cin>>a>>b;
for (i=1;i<=a-1;i=i+1)
{
if (a%i==0)
c=c+i;
}
for (i=1;i<=b-1;i=i+1)
{
if (b%i==0)
d=d+i;
}
if ((a=d) and (b=c))
cout<<"YES";
else
cout<<"NO";
}