سلام من تازه برنامه نویسی رو با زبان C آغاز کردم یک سئوال داشتم. ممنون میشم اگه جواب بدید.
1.برنامه میخوام که دو عدد صحیح a , b رو گرفته و a را به توان b برساند؟
سلام من تازه برنامه نویسی رو با زبان C آغاز کردم یک سئوال داشتم. ممنون میشم اگه جواب بدید.
1.برنامه میخوام که دو عدد صحیح a , b رو گرفته و a را به توان b برساند؟
خب شما اول باید اول اگوریتم توان رو بدونید . و این رو هم بدونید که توان برای اعداد مثبت همیشه بزرگتر مساوی 1 هست پس اولش توان یا همون pow را برابر 1 قرار میدیم .
بعد یه حلقه مینویسیم که به تعداد b بیاد pow*=a کنه و در آخر هم pow رو چاپ کنه . من توضیح دادم چون قرار دادن کد خلاف قوانین سایت هست . خودت پیاده سازی کن .
سلام. این رو تست کن:
c = exp(b*ln(a)) // a be tavane b
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
الگوريتمتون درسته ولي در زبان سي لگاريتم بر پايه نپر به صورت log نوشته مي شه نه ln.
با تشكر.
این کد برنامه ای هست که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;
}
بله میتونید . مثلا تابع 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 موفق باشید .
با کدی که شما نوشتید توانهای صحیح قابل محاسبه هست.
اما یا EXP توانهای اعشاری هم محاسبه میشه.مثل 2.4^3.2
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
irpersian20 جان منظور من float کردن عدد ها نیست.
شما با اون کد نمی تونی به توان نیم رو حساب کنی.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
با سلام.
برای به توان رساندن یه عدد به عدد دیگه میتونین از تابع تعریف شده در 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);
}
همچنین دوستان هم روشهایی رو که گفته بودن همگی درست هستن.
اگه اینا کارت رو را نمیندازه بگو در اصل چی میخوای تا همونو بدیم بهت
موفق باشی
اینهم یه الگوریتم سرسعتر برای توان(البته برای توان های صحیح):
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);
}