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

نام تاپیک: به توان رساندن اعداد

  1. #1

    به توان رساندن اعداد

    سلام من تازه برنامه نویسی رو با زبان C آغاز کردم یک سئوال داشتم. ممنون میشم اگه جواب بدید.
    1.برنامه میخوام که دو عدد صحیح a , b رو گرفته و a را به توان b برساند؟



  2. #2

    نقل قول: توان

    خب شما اول باید اول اگوریتم توان رو بدونید . و این رو هم بدونید که توان برای اعداد مثبت همیشه بزرگتر مساوی 1 هست پس اولش توان یا همون pow را برابر 1 قرار میدیم .

    بعد یه حلقه مینویسیم که به تعداد b بیاد pow*=a کنه و در آخر هم pow رو چاپ کنه . من توضیح دادم چون قرار دادن کد خلاف قوانین سایت هست . خودت پیاده سازی کن .

  3. #3

    نقل قول: توان

    سلام. این رو تست کن:

    c = exp(b*ln(a)) // a be tavane b
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  4. #4
    کاربر دائمی آواتار shahmohammadi
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    کلیبر
    پست
    475

    نقل قول: به توان رساندن اعداد

    الگوريتمتون درسته ولي در زبان سي لگاريتم بر پايه نپر به صورت log نوشته مي شه نه ln.
    با تشكر.

  5. #5
    کاربر دائمی آواتار mahak006
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    کرج
    سن
    32
    پست
    278

    نقل قول: به توان رساندن اعداد

    این کد برنامه ای هست کهArcsinos در مورد الگوریتمش براتون نوشتند .

    #include<iostream.h>
    int main()
    {
    int a,b,pow;
    cin>>a>>b;
    pow=1;
    for ( int i=1 ; i<=b ; i++ )
    pow *= a;
    cout<<pow;
    return 0;
    }

  6. #6

    نقل قول: به توان رساندن اعداد

    نقل قول نوشته شده توسط mahak006 مشاهده تاپیک
    این کد برنامه ای هست کهArcsinos در مورد الگوریتمش براتون نوشتند .

    #include<iostream.h>
    int main()
    {
    int a,b,pow;
    cin>>a>>b;
    pow=1;
    for ( int i=1 ; i<=b ; i++ )
    pow *= a;
    cout<<pow;
    return 0;
    }
    دوست عزیز میشه بگی به وسیله توابع این کار رو باید کرد؟

  7. #7

    نقل قول: به توان رساندن اعداد

    بله میتونید . مثلا تابع power رو از نوع int تعریف کنید اینطوری (int power(int a,int b بعد بیایید کد بالا رو توش بریزید اینطوری
    {
    pow=1;
    for ( int i=1 ; i<=b ; i++ )
    pow *= a
    return pow
    }

    حالا تو int main بعد از اینکه a,b رو گرفتید بنویسید (cout<<power(a,b موفق باشید .

  8. #8

    نقل قول: به توان رساندن اعداد

    با کدی که شما نوشتید توانهای صحیح قابل محاسبه هست.
    اما یا EXP توانهای اعشاری هم محاسبه میشه.مثل 2.4^3.2
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  9. #9

    نقل قول: به توان رساندن اعداد

    نقل قول نوشته شده توسط yousijoon مشاهده تاپیک
    با کدی که شما نوشتید توانهای صحیح قابل محاسبه هست.
    اما یا EXP توانهای اعشاری هم محاسبه میشه.مثل 2.4^3.2
    #include <iostream.h>

    double power(float,float);

    int main ()

    {

    float a,b;

    cin>>a>>b;

    cout<<power(a,b);

    }

    double power (float a,float b)

    {

    double p=1;

    for (int i=1;i<=b;i++)

    p*=a;

    return p;

    }

  10. #10

    نقل قول: به توان رساندن اعداد

    irpersian20 جان منظور من float کردن عدد ها نیست.
    شما با اون کد نمی تونی به توان نیم رو حساب کنی.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  11. #11
    کاربر دائمی آواتار quiet_programmer
    تاریخ عضویت
    دی 1389
    محل زندگی
    زنجان
    سن
    38
    پست
    289

    نقل قول: به توان رساندن اعداد

    با سلام.

    برای به توان رساندن یه عدد به عدد دیگه میتونین از تابع تعریف شده در Math.h هم استفاده کنید:

    #include <iostream.h>
    #include <math.h>

    void main()
    {
    int a,b;
    a=3;
    b=2;
    cout<<pow(a,b);
    }


    همچنین میتونین خودتون بصورت دستی و با استفاده تابع بازگشتی پیاده سازی کنید:

    #include <iostream.h>
    #include <math.h>

    int Power(int a,int b)
    {
    if(b==0)
    return 1;
    else
    return a*Power(a,b-1);
    }

    void main()
    {
    int a,b;
    a=3;
    b=2;
    cout<<Power(a,b);
    }


    همچنین دوستان هم روشهایی رو که گفته بودن همگی درست هستن.

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

  12. #12
    کاربر دائمی آواتار shahmohammadi
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    کلیبر
    پست
    475

    نقل قول: به توان رساندن اعداد

    اینهم یه الگوریتم سرسعتر برای توان(البته برای توان های صحیح):

    long square(long n){return n*n;}

    long fastexp(long base, long power)
    {
    if(power==0)
    return 1;
    else if (power%2==0)
    return square(fastexp(base,power/2));
    else
    return base*fastexp(base,power-1);
    }

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

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