سبد خرید

بستن سبد خرید

هیچ محصولی در سبد خرید نیست.

تعداد محصول: 0 کل قیمت: تومان0

مقسوم علیه های یک عدد با ++C

مقسوم علیه های یک عدد با ++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 هستند.

الگوریتم

  1. شروع
  2. N را بخوان
  3. W=1
  4. R=N-W*Int(N/W)
  5. اگر R=0 بود پس W را بنویس
  6. W=W+1
  7. اگر 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();
}

 

 

پست های مشابه

19تیر 1400

CSS چیست و نقش آن در طراحی وب سایت که در این پست، طراحی و ساخت سایت را توضیح می دهیم، پس با ما همراه باشید. امروزه نرم افزارهایی برای طراحی وب سایت پدید آمده است که این امکان را می دهد که حتی بدون نیاز به دانش برنامه نویسی وب سایتی تولید و توسعه […]

265

0

18فروردین 1400

از آنجايي که دانشجويان زيادي جهت سفارش پروژه هاي C++ به سايت مراجعه نموده اند، در این مطلب پروژه ای مربوط به تبدیل اعداد دهدهی به اعداد دودویی است که در اختیار شما دوستان قرار دادیم…

560

0

2اسفند 1399

بدست آوردن تعداد بیشترین مقسوم علیه دربین چند عدد با پایتون که بسیاری از دانشجویان به دنبال این سورس کد هستند. در این مقاله…

3403

2

دیدگاه و پرسش


حسن

12 آبان 1398

مقاله بسیار کاربردیست برای دانشجویان. با تشکر از شما

    shahcode

    13 آبان 1398

    سلام
    مرسی سپاسگزارم

Learner

12 بهمن 1399

سلام. خسته نباشید من یه چیز برعکس این میخواستم. یعنی تعداد مقسوم علیه رو به ورودی بدم، اولین عددی که این مقدار مقسوم علیه داره رو بهم بده. چه کار باید بکنم؟ ممنون میشم زودجواب بدین چون زمان زیادی ندارم.

    شاه‌کد

    12 بهمن 1399

    با سلام،
    برای برعکس شدن، میتونی از کد زیر استفاده کنید.

    شاه‌کد

    12 بهمن 1399

    کد:

    for(int i = n; i >= 1 ; i–){
    if( n % i== 0 ){
    sum += i;

    if( i == n ){
    cout << i ; }else{ cout <<"+"<