请教函数问题什么是 double val = 1.0;
本帖最后由 Mocca 于 2021-11-17 21:24 编辑问题:求x的n次方
#include <iostream>
using namespace std;
double power(double x, int n) {
double val = 1.0; <---------------------------------------------我是初学者,不明白为何这里是val? 是什么公式?次方的公式?我没学过。。
while (n--)
val *= x;
return val;
}
int main()
{
double pow;
pow = power(5, 2);
cout << "5 to the power 2 is " << pow << endl;
//函数调用作为一个表达式出现在输出语句中
return 0;
} 变量名而已,内存中的一个地址而已 本帖最后由 Mocca 于 2021-11-17 21:51 编辑
wp231957 发表于 2021-11-17 21:24
变量名而已,内存中的一个地址而已
谢谢您的回复,
但是这个
(n--)
val *= x;
我是自学的,我没学过这个。。为何是n-- ,为何是 *=x?
我明白n-- 是 n自减,*=x是 val * x
但是我不明白为何这个公式就可以算出 次方?
我尝试搜索。。但是不懂这个叫什么去哪里学。。
Mocca 发表于 2021-11-17 21:48
谢谢您的回复,
但是这个
(n--)
n-- 如同 n = n-1
val *= x 如同 val = val * x Mocca 发表于 2021-11-17 21:48
谢谢您的回复,
但是这个
(n--)
while n 表示 val 乘 x 至少 n 次(每次 n 自减,直到 n 为 0 退出循环) 傻眼貓咪 发表于 2021-11-17 21:57
while n 表示 val 乘 x 至少 n 次(每次 n 自减,直到 n 为 0 退出循环)
谢谢,这个算法是你们中学学过的?
我没学过n次方原来可以这样找。 Mocca 发表于 2021-11-17 22:09
谢谢,这个算法是你们中学学过的?
我没学过n次方原来可以这样找。
那你咋算??
5的3次幂不是三个5相乘??
6的8次幂不是8个6相乘???
电脑编程绝大多数都是模拟而已 Mocca 发表于 2021-11-17 22:09
谢谢,这个算法是你们中学学过的?
我没学过n次方原来可以这样找。
是啊,学校有学习过{:5_109:} wp231957 发表于 2021-11-18 07:25
那你咋算??
5的3次幂不是三个5相乘??
6的8次幂不是8个6相乘???
请问学编程是不是都要有运算学基础?
我中学没学这些数学。 Mocca 发表于 2021-11-18 18:26
请问学编程是不是都要有运算学基础?
我中学没学这些数学。
这些都是初中数学知识点,不知道啥叫 运算学
页:
[1]