所以我有一个将数字的所有数字相加的赋值,例如3256将是3 + 2 + 5 + 6 所以我所做的就是先将数字改成字符串并添加字符串的所有数字。 但是,问题是字符串只将它们作为字符并打印所有内容,例如我的数字是2 ^ 352 = 9.1779 e + 105
所以我的数组[1] =。
这就是我到目前为止所做的:
int calcular2()
{
double r;
r = pow(2, 352);
n = 0;
printf("2^352 es: %0.0f\n", r);
std::ostringstream ostr;
ostr << r;
std::string resultado = ostr.str();
for (int j = 0; j < 127; j++)
{
if (resultado[1] == '.')
continue;
n = resultado[j] + n;
}
printf("La suma de todos los digitos de 2^352 es:");
printf("%d\n", n);
return 0;
}
所以我不明白如何在resultado [j]中添加所有数字,以便它不考虑r为9.17799e + 105,因为resultado [8]打印为e并且到目前为止。