مقسوم علیه های یک عدد با ++C ، در این مقاله توضیحاتی درباره مقسوم علیه به همراه مثال و با زبان برنامه نویسی ++C پیاده سازی میکنیم.
مقسوم علیه چیست؟
مقسوم علیه های یک عدد:
هر عدد طبیعی بر تعدادی از عددها بخشپذیر است که مقسوم علیه های آن عدد می باشند.
مثال:
عدد 20 بر عددهای 1 , 2, 4 , 5 , 10 , 20 بخشپذیر است، پس:
{20, 10, 5, 4, 2, 1} = مجموعه مقسوم علیه های عدد 20
یا مقسوم علیه یعنی چه اعدادی بر اون بخش پذیر هستند یا به عبارتی دیگر اگر عدد 12 را بر عدد 6 تقسیم کنیم و باقیمانده تقسیم صفر شود آن گاه میتوان گفت که عدد 6 مقسوم علیه عدد 12 است. پس مقسوم علیه های عدد 12 برابر است با اعداد : 1 – 2 – 3 – 4 – 6 – 12
توضیح: فرض کنیم N عددی طبیعی باشد، مقسم علیه های N، اعداد صحیح کوچکتر از N هستند که اگر N به هر کدام از آنها تقسیم شود، باقی مانده مساوی صفر می شود. برای مثال عدد 12 را در نظر بگیریم، مقسوم علیه های آن 1، 2، 3، 4، 6 و 12 هستند.
الگوریتم
- شروع
- N را بخوان
- W=1
- R=N-W*Int(N/W)
- اگر R=0 بود پس W را بنویس
- W=W+1
- اگر W<=N بود پس بر به مرحله 4
سوال این مسئله: برنامه ایی بنویسید که عدد را از ورودی بگیرد و مقسوم علیه های آن را در خروجی چاپ کند؟
برای این کار ابتدا باید عدد را از ورودی بگیرد و با استفاده از حلقه for تک تک اعداد بخش پذیر بر اون عدد را محاسبه و در خروجی چاپ کند. سورس کد نمایش مقسوم علیه های یک عدد برای دسترسی راحتتر دانشجویان در این سایت قرار داده شده است.
سورس کد مقسوم علیه به زبان ++C:
#include <iostream.h> #include <conio.h> void main(){ clrscr(); int n; cout <<" Enter Number :"; cin >>n; for(int i = 1; i <= n ; i++){ if( n % i == 0 ){ cout <<i<<endl; } } getch(); }
یه مثال دیگر: محاسبه مجموع مقسوم علیه های عدد
برای محاسبه مجموع مقسوم علیه ها اول باید مقسوم علیه های عدد را به دست بیاوریم که در مثال فوق آمده است، بعد با استفاده از یک متغیر مقسوم علیه ها را در حلقه for ، داخل متغیر بریزیم و به صورت حلقه for ، همان متغیر را چاپ کند.
نمونه سورس کد زیر:
#include <iostream.h> #include <conio.h> void main(){ clrscr(); int n , sum; cout <<" Enter Number :"; cin >>n; sum = 0; for(int i = 1; i <= n ; i++){ if( n % i == 0 ){ sum + = i; cout <<i<<endl; } } cout <<"Sum is :"<<sum; getch(); }
و همچنین اگر بخواهیم مجموع مقسوم علیه ها به صورت 28 = 12 + 6 + 4 + 3 + 2 + 1 چاپ شود، سورس کد آن به صورت زیر است:
#include <conio.h> #include <iostream> using namespace std; int main(){ int n , sum; cout <<"Enter Number:"; cin >>n; sum = 0; for(int i = 1; i <= n ; i++){ if( n % i== 0 ){ sum += i; if( i != n ){ cout << i <<"+" ; }else{ cout <<i; } } } cout <<" = "<<sum; getch(); }
حسن
12 آبان 1398
مقاله بسیار کاربردیست برای دانشجویان. با تشکر از شما