PDA

View Full Version : الگوریتم جزر ، کعب و...



titan_550
چهارشنبه 27 آبان 1388, 11:40 صبح
سلام
من دنبال یک الگوریتم می گردم برای گرفتن جزر ریشه های دو و بالا تر.
چیزی که خودم نوشتم:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float level,sens,num;
double temp=0,rez=0;
int m,c=0;
temp=num-10;
printf("enter the number ");
scanf("%f",&num);
printf("enter the forjeh ");
scanf("%d",&m);
// printf("enter the starting level ");
// scanf("%f",&level);
printf("enter the sensivity ");
scanf("%f",&sens);
level=num/10;
while(temp<(num-sens) ^ temp>(num+sens))
{
++c;
if(temp<(num-sens))
rez+=level;
else
{
rez-=level;
level/=10;
rez+=level;
}

printf("forje=%d ",m);
temp=pow(m,rez);
printf("result is: %f and temp is: %f\n",rez,temp);
}
printf("Result is: %f prosses: %d",rez,c);
getch();
}
ولی مشکل این هست که یک جورایی معکوس کردن هست و پردازش ها زیاد می شه.


در ضمن یک سوال هم دز مورد مفهوم توان دارم. ما موقعی که می گیم 2^3 یعنی می خواهیم 2 رو سه بار در خودش ضرب کنیم یعنی : 2*2*2
حالا معنی 2^2.3 یعنی چی؟ چطور 2 رو 2.3 بار در خودش ضرب می کنیم؟

Salar Ashgi
شنبه 30 آبان 1388, 12:23 عصر
اون تعریفی که شما از توان ارائه کردید ، بیشتر در مورد اعداد صحیح صادق هستش و نه در مورد اعداد اعشاری.

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

استفاده کرد . چون داریم :



a^b = e^(b*Ln(a))


موفق باشید .

titan_550
یک شنبه 01 آذر 1388, 10:54 صبح
اون تعریفی که شما از توان ارائه کردید ، بیشتر در مورد اعداد صحیح صادق هستش و نه در مورد اعداد اعشاری.

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

استفاده کرد . چون داریم :



a^b = e^(b*Ln(a))
موفق باشید .
بله به این حالت هم فکر کردم ولی بایستی جواب ln رو بدست بیاری.
اگر امکان داره در مورد بدست آوردن جواب ln راهنمایی کنید.
در ضمن ممکن هست که ((b*ln(a) یک مقدار اعشاری بشه که باز هم همین مشکل رو خواهیم داشت(e^3.1)

titan_550
پنج شنبه 05 آذر 1388, 19:46 عصر
آپ...........