PDA

View Full Version : حل مشکل توان بین صفر و یک در c++



king artoor
پنج شنبه 06 دی 1397, 20:18 عصر
سلام دوستان من یه مشکلی که برخوردم اینه که تابع pow نمیتونه پایه ش عدد منفی یا صفر باشه میخواستم ببینم چیکار باید بکنم که بتونم مثلا -2 به توان 0.333 رو حساب کنم؟

borderliner
جمعه 07 دی 1397, 01:14 صبح
این چطوره؟

auto result = std::cbrt(-2);

و هدر <cmath> رو include کن. درواقع ریشه سوم میگیره. Cube Root.

farhad_shiri_ex
جمعه 07 دی 1397, 12:13 عصر
سلام دوستان من یه مشکلی که برخوردم اینه که تابع pow نمیتونه پایه ش عدد منفی یا صفر باشه میخواستم ببینم چیکار باید بکنم که بتونم مثلا -2 به توان 0.333 رو حساب کنم؟

اگر از کامپایلری که از C++‎11 به بعد را پشتیبانی کنه استفاده کنید! البته که می توانید هم عدد منفی و هم 0 به عنوان پایه در تابع pow قرار بدید!

#include <iostream>
#include <cmath>

using namespace std;

int main()
{

cout<< "pow(-2, 0) = " << std::pow(-2,0) << '\n';
cout<< "pow(-2, -3) = " << std::pow(-2,-3) << '\n';
cout<< "pow(-2, 0.333) = " << std::pow(-2,0.333) << '\n';

return 0;
}


والبته خروجی pow(-2,0.333) این دستور nan هست که خب البته منطقی هم هست!!