Member 13476370 Ответов: 1

Вычислить pow(10, 9) C++


для следующей задачи codeforces Проблема - А - Codeforces[^]

Мой код выдает неверный вывод на

Тестовый случай (5) : 10 7
требуется 10-значное число, делимое на 7 .

Что я уже пробовал:

int main(){
   
    int n, t;
    cin >> n >> t;
    
    if(n == 1 && t == 10)
        cout << "-1";
    if(t == 10)
        cout << 10 * pow(10,n-2);
    else
        cout << t * pow(10,n-1) << endl ;
    
    return 0;
}

Выход из pow(7, 9) равен (7e+009)
что означают эти символы ?
Является ли это недостатком pow(,) в C++ или это я злоупотребил им ?

Н. б. я знаю, что другим решением было бы печатать нули, объединенные после числа или вывода 7777777777 . Я хочу зафиксировать свое решение и открыть для себя pow(,) больше.

Richard MacCutchan

Вам необходимо задать параметры форматирования для числа в вашем выходном операторе. То, что вы видите по умолчанию, - это научная нотация.

1 Ответов

Рейтинг:
1

KarstenK

Ваш код - это беспорядок и багги. Используйте отступы и фигурные скобки, чтобы прояснить его.

Выходные данные - это форматированное число и результат вычисления. Используйте переменные для результатов и отладчика.


Member 13476370

Закончено форматирование кода .
Я уже знаю, что такое форматирование вывода, но я не знаю, почему pow (,) возвращает этот ответ и как я могу его исправить.
Пожалуйста, уточните свой ответ .