【发布时间】:2021-09-26 08:16:39
【问题描述】:
我的 C++ 代码应该将一个数字和一个指数作为整数输入,计算“数字”的“指数”的幂,并将结果的数字相加并输出。它适用于像 10 或 20 这样的小指数值,但对于像 ~ >500 这样的大值给出错误的答案。为了便于计算,我将我的“数字”输入限制为
#include<iostream>
using namespace std;
#include <cmath>
int main(){
int number, exponent;
cin >> number >> exponent;
double product = 1;
int sum = 0;
// Write your code here
for (int i = 0; i < exponent; i++){
product = product * number;
}
cout << "THE MAIN PRODUCT IS: " << product << "\n\n";
while (product > 1){
sum = sum + fmod(product, 10.0); // kEEP ADDING THE DIGITS TO THE SUM
cout << "sum is " << sum << endl;
product = product / 10.000;
cout << "product is " << product << endl;
}
cout << endl;
cout << sum << endl;
}
【问题讨论】:
-
仅供参考 2^1000 是一个很大的数字
-
你明白什么是整数溢出吗?
-
@KarlKnechtel 不,你能给我解释一下吗?
-
我认为斜体关键字“整数溢出”是作为搜索词提供给您的,以便您可以进行自己的调查。这是基本的东西。
-
因为你只需要知道多少位数.. 我认为log equation 应该这样做。这是你要找的吗?
标签: c++ algorithm math integer-arithmetic