פונקציה המקבלת שני מספרים ומעלה אחד בחזקת השני

emmasky33

New member
פונקציה המקבלת שני מספרים ומעלה אחד בחזקת השני

הי כולם,

קיבלתי את המשימה הבאה בשפת C:

כתוב פונקציה המקבלת שני מספרים ומעלה אחד בחזקת השני.
להלן הפתרון שניתן:

int power(int a, int b)
{
int result = 1, i;
for (i = 0; i < b; ++i) result *= a;
return result;
}

אבל הוא לא כולל חזקה שלילית, איך אני יכולה בכל זאת להוסיף חזקה שלילית לפונקציה?

תודה!
 

BravoMan

Active member
די פשוט:

מספר בחזקה שלילית, שווה לאחד חלקי אותו מספר באותה חזקה חיובית.
&nbsp
למשל:
Xˉ² = 1/X²
&nbsp
כמובן, כדי להחזיר חזקות כאלה תצטרך פונקציה שמחזירה double במקום int, אבל בגדול החישוב הוא אותו חישוב.
תבדוק אם החזקה שקיבלת היא שלילית או חיובית, ואם היא שלילית תזכור להחזיר אחד חלקי התוצאה.
(כמובן, תהפוך את החזקה לחיובית בשביל הלולאה)
 

emmasky33

New member
השאלה שלי היא

איך אני מכניסה את זה לפונקציה? זה חייב להיות עם if?
 

BravoMan

Active member
אתה צריך לבדוק אם החזקה שקיבלת היא שלילית או חיובית

אז בוודאי תזדקק לתנאי - if.
 
למעלה