سلام
امروز یک برخلاف روز های دیگه کد سوال ACM رو حل نمی کنیم من به یک مبحث جالب به اسم عدد های دوست توی نت برخوردم و کد پیدا کردن اش رو نوشتم گفتم شاید قرار دادنش روی وبلاگ خالی از لطف نباشه ...
البته این میتونست یک مسئله ACM هم باشه به این صورت که 2 تا عدد بگیره بگه با هم دوست هستند یا نه !!
عدد های دوست اعدادی هستند که جمع مقسوم علیه هاشون برابر با عدد دیگه بشه مثل 220 و 284
برای اعداد زیر 100000 این خروجی رو داد برنامه:
6 6
28 28
220 284
496 496
1184 1210
2620 2924
5020 5564
6232 6368
8128 8128
10744 10856
12285 14595
17296 18416
63020 76084
66928 66992
67095 71145
69615 87633
79750 88730
#include<iostream>using namespace std;
#define ull unsigned long long int
#define max 18446744073709551615
ull sumOfSub(ull inpt){
ull i,sum=0;
for(i=2;i*i<=inpt;i++){
if(inpt%i==0){
sum+=i;
sum+=inpt/i;
}
}
return sum+1;
}
int main(){
ull a,b;
for(a=2;a<max;a++){
b=sumOfSub(a);
if(b>=a&&a==sumOfSub(b))cout<<a<<"\t"<<b<<"\n";
}
return 0;
}
dante
۲۳ اسفند ۹۱، ۲۲:۵۱
سلام
ممنون از مطالب مفیدتون!
لطفا در صورت امکان راه حل سوالات دوره های گذشته مسابقات شریف رو هم بذارید.