好吧,我正在通過C++的bjarn stroustrups書籍,他的一個練習要求我在不使用乘法運算符的情況下計算數字的平方。所以我開始使用的鍋爐板代碼是一個函數,稱爲int類型的square,其參數x爲int類型,代碼塊爲return x * x;很簡單。所以我想到了它,我知道我需要一個循環,我知道它可能是一個for循環。我知道我想要循環聽起來像這樣將x添加到x並循環x次的值。我剛開始使用C++,所以我不知道如何創建循環。有任何想法嗎?在C++中對數字進行平方運算
-2
A
回答
1
你的情況B = 2
int pow(int a, int b)
{
if (b == 0)
return 1;
int answer = a;
int increment = a;
int i, j;
for(i = 1; i < b; i++)
{
for(j = 1; j < a; j++)
{
answer += increment;
}
increment = answer;
}
return answer;
}
+0
感謝你的回答,我在老師的幫助下計算出來了。 – user1995779
1
所以在這個問題上的整點真的只是爲了讓自己的乘法功能。有幾種方法可以做到這一點。你可以遞歸地(個人認爲這是最簡單的)或通過循環來做到這一點。 遞歸:
int mult(int a, int b){
if (b == 0) {
return 0;
}
b -= 1;
return (a + mult(a, b));
}
int power(int base, int deg){
if (deg == 0) {
return 0;
}
deg-=1;
return mult(base, base)+power(base, deg);
}
或作爲@Cris上面那樣不使用嵌套的for循環遞歸:
int pow(int a, int b)
{
if (b == 0)
return 1;
int answer = a;
int increment = a;
int i, j;
for(i = 1; i < b; i++)
{
for(j = 1; j < a; j++)
{
answer += increment;
}
increment = answer;
}
return answer;
}
相關問題
- 1. Javascript - 如何對數字進行平方?
- 2. 在MIPS中對數字進行平方編碼
- 3. 在MATLAB中計算運行平均數
- 4. 不能對數組值進行算術運算c#
- 5. 在R中對函數進行算術運算的最佳方法是什麼?
- 6. 對C/C++中的大文件二進制數據進行的邏輯運算
- 7. 在很大的數字上進行算術運算的算法
- 8. 對數組中的算術運算C
- 9. Typescript:對算術運算進行編碼
- 10. 對list :: iterator進行算術運算?
- 11. 如何使用c#在datagridview中進行數學運算?
- 12. 在C++中計算相同的運行進程的總數
- 13. 以分量方式對兩個NSArray進行算術運算?
- 14. 在Perl中對非常大的數字執行數學運算
- 15. 如何在Python中對日期進行算術運算?
- 16. 是否可以在對象鍵中進行算術運算?
- 17. 對字符串中的數字執行數學運算
- 18. 執行算術運算在字符串在C#中
- 19. BASH:如何對管道中的數字執行算術運算
- 20. 試圖在C++中實現運行長度平滑算法
- 21. SQLAlchemy:在多對多關係中對運算符進行過濾
- 22. 在C++中使用高數字進行計算
- 23. 如何在python中對導入的數組進行算術運算?
- 24. 如何在mysql查詢中對數字部分進行計算
- 25. 32位或64位CPU如何對大數字進行算術運算?
- 26. 搜索數字,對結果進行算術運算,然後替換
- 27. 是否可以用Objective-C中的方法進行算術運算?
- 28. 在.net中對十進制數據類型進行按位運算
- 29. 如何在bash中對十六進制數進行按位運算?
- 30. 如何在.rewriteRule函數中進行算術運算?
閱讀手冊?如果你只是想問一個問題,你會做很多問題。閱讀手冊,如果遇到麻煩,請回來。 – SJuan76
'exp(log(x)+ log(x))' – Mysticial
男人,它真的很糟糕,試圖在手機上編輯評論。我放棄了......太糟糕了,你也無法刪除對手機的評論。 –