Soma de dígitos em um número muito grande usando c ++ [fechado]
Estou tentando resolver esse problema específico:Projeto Euler # 16:
2 ^ 15 = 32768 e a soma dos seus dígitos é 3 + 2 + 7 + 6 + 8 = 26.
Qual é a soma dos dígitos do número 2 ^ 1000?
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int num;
cin >> num;
long double n = pow(2, num);
cout << fixed << n << endl;
int sum = 0;
while(n != 0.0)
{
sum = sum + fmod(n, 10);
n = floor(n/10);
}
cout << sum << endl;
}
A saída quando a entrada do usuário é 1000 é:
1181
Entretanto, a internet menciona a resposta correta a ser1366
ao invés de1181
Eu tenho.