نمایش نتایج 1 تا 8 از 8

نام تاپیک: فاکتور گیری که نتایج اعداد اول باشند

  1. #1

    فاکتور گیری که نتایج اعداد اول باشند

    سلام

    با یکی سوال توی یک کتاب بر خوردم اما با c نتونستم بنویسمش با C#‎ نوشتمش اما با c نمی دونم چرا هر چی می نویسم نمی شه !

    یک پیغام بده که عدد صحیح و مثبتی رو وارد کنید . عدد صحیح رو فاکتور بگیره و نتیجه رو به صورت فاکتور ها ( عوامل ضرب ) چاپ کنه همه فاکتور ها هم عدد اول باشند !!
    اینو کمک کنید ممنون می شم که برم سر بحث بعدی قاطی کردم



  2. #2
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: فاکتور گیری که نتایج اعداد اول باشند

    والا گوگل چیزه خوبه برای این کار چندین الگوریتم وجود داره یکیش اینه :

    #include <iostream.h>

    void PrimeFactors (int );


    int main()
    {
    int n = 0;
    cout<<"\t\tWelcome to Prime Factors program\n\n";
    cout<<"Enter the number : ";
    cin>>n;
    cout<<"\n\n";
    PrimeFactors(n);

    return 0;
    }

    void PrimeFactors (int n)
    {

    int count = 0;
    int temp = 0;


    for ( int i = 1 ; i <= n ; i++ )
    {

    int j = i - 1;

    while ( j > 1 )
    {
    if ( i % j == 0 ) //Is PRIME
    break;
    else
    j--;
    }

    if ( j == 1 )
    {
    if ( n % i == 0 )
    {
    cout<<"\n"<<i; //PRIME factor

    if ( i > temp )
    { temp = i;
    count++;
    }
    }
    }

    }

    cout<<"\n\nNumber of prime factors of "<<n<<" : "<<count<<"\n\n";
    cout<<"Greatest prime factor is "<<temp<<"\n\n";
    }}


    ولی در کل باید بندازیش داخل یک حلقه که از 2 شروع بشه اگه عدد اول بود که تقسیم و چاپ اگه نبود باید بریم مرحله بعدی . بیهترین کار اینه که یک تابع برای عدد اول تعریف کنی یا یک آرایه که داخلش اعداد اول بین 0 تا 9 باشه
    البته این برای تجزیه یک عدد به عوامل اول درسته که فکر کنم منظور شما همین باشه

  3. #3

    نقل قول: فاکتور گیری که نتایج اعداد اول باشند

    ممنون دوست عزیز اما من اینو با زبان c می خواستم این برنامه ای که شما گذاشتین با C++‎ هست

    همین تفاوت دستوری منو قاطی کرده
    من از روی کتاب عکس گرفتم که متوجه منظور بشید ...

    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg c.jpg‏ (41.9 کیلوبایت, 15 دیدار)

  4. #4
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: فاکتور گیری که نتایج اعداد اول باشند

    جواب سوال همینه برای تبدیل کردن به سی از دستور printf از سر فایل stdio.h استفاده می شه همین مثلا این دو خط معادلند:

    cout<<"\n"<<i;
    printf("\n%d",i);

  5. #5

    نقل قول: فاکتور گیری که نتایج اعداد اول باشند

    نقل قول نوشته شده توسط amin1softco مشاهده تاپیک
    جواب سوال همینه برای تبدیل کردن به سی از دستور printf از سر فایل stdio.h استفاده می شه همین مثلا این دو خط معادلند:

    cout<<"\n"<<i;
    printf("\n%d",i);
    از جوابتون خیلی سپاسگزارم دوست عزیز :آیا فقط cin و cout و فایل سرایند رو به c تبدیل کنم دیگه مشکلی نداره ؟ یا بعضی از Syntax ها هم فرق می کنه


    خیلی خیلی خیلی ممنون می شدم اگر همین برنامه رو با c می زاشتید تا من کامل متوجه بشم


    بسیار سپاس گذارم

  6. #6
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: فاکتور گیری که نتایج اعداد اول باشند

    در خواست کد ممنوعه ولی این می شه به سی


    #include <stdio.h>

    void PrimeFactors (int );


    int main()
    {
    int n = 0;
    printf("\t\tWelcome to Prime Factors program\n\n");
    printf("Enter the number : ");
    scanf("%d",&n);
    printf("\n\n");
    PrimeFactors(n);

    return 0;
    }

    void PrimeFactors (int n)
    {

    int count = 0;
    int temp = 0;


    for ( int i = 1 ; i <= n ; i++ )
    {

    int j = i - 1;

    while ( j > 1 )
    {
    if ( i % j == 0 ) //Is PRIME
    break;
    else
    j--;
    }

    if ( j == 1 )
    {
    if ( n % i == 0 )
    {
    printf("\n%d",i); //PRIME factor

    if ( i > temp )
    { temp = i;
    count++;
    }
    }
    }


    }
    printf("\n\nNumber of prime factors of %d : %d\n\n",n,count);
    printf("Greatest prime factor is %d \n\n",temp);
    }


  7. #7

    نقل قول: فاکتور گیری که نتایج اعداد اول باشند

    نقل قول نوشته شده توسط Seyd_Ali مشاهده تاپیک
    سلام

    با یکی سوال توی یک کتاب بر خوردم اما با c نتونستم بنویسمش با C#‎‎ نوشتمش اما با c نمی دونم چرا هر چی می نویسم نمی شه !

    یک پیغام بده که عدد صحیح و مثبتی رو وارد کنید . عدد صحیح رو فاکتور بگیره و نتیجه رو به صورت فاکتور ها ( عوامل ضرب ) چاپ کنه همه فاکتور ها هم عدد اول باشند !!
    اینو کمک کنید ممنون می شم که برم سر بحث بعدی قاطی کردم


    کاربر گرامی ، باید دوباره یادآوری کنم که :

    درخواست انجام تمرینات دانشجویی مخالف قوانین سایت میباشد .


    لااقل از خودتون یک کدی (هرچند اشتباه و ناقص) قرار بدید ، تا ما بفهمیم که شما خودتون

    روی مساله کار کردین و واقعا هدفتون درخواست راهنمایی است نه کد !!!

    چون درخواست راهنمایی ساده بدون هیچ کدی = درخواست کد برنامه

    انتظار میرود من بعد ، نکات فوق الذکر حتما رعایت شود .






  8. #8

    نقل قول: فاکتور گیری که نتایج اعداد اول باشند

    یه الگوریتمی هم هست که میشه حتی بدون استفاده از تابع اول بودن ، بسط عدد به عوامل اول رو چاپ کرد .






قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •