Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.94
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
#1

Как избавиться от экспоненциального вида при выводе числа - C++

20.04.2009, 23:55. Просмотров 2344. Ответов 3
Метки нет (Все метки)

Вот программа, которая вычисляет факториалы чисел от 0 до 20. Факториал для чисел от 10 до 20 представляется в экспоненциальной форме. Как избавиться от это представления? Что бы числа были без экспоненты представлены. Спасибо.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
 
long double factorial(int);
 
int main() {
 
    int N = 20;
 
    for (int i = 0; i <= N; i++) {
        cout << "\t" << i << "! = " << factorial(i) << "\n";
    }
 
 
    return 0;
}
 
long double factorial(int n) {
    if (n < 0) return 0;
    if ((n == 0) || (n == 1)) return 1;
        else return n * factorial(n - 1);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2009, 23:55     Как избавиться от экспоненциального вида при выводе числа
Посмотрите здесь:

C++ Как выровнять матрицу при выводе!?!??
Добавление лидирующих нулей при выводе числа C++
Как правильно ограничить число знаков после запятой при выводе массива C++
как избавится от мерцания при выводе массива C++
Как сделать, чтобы при выводе на экран были пробелы C++
как избавиться от присваивания процессорного времени переменной при работе циклов? C++
C++ При выводе числа с плавающей запятой теряются последние цифры
При выводе числа выводится #INF C++
Как нужно задать условие, чтобы при последовательном рандомном выводе чисел в ряд ни одно из них не повторялос C++
C++ Как убрать лишние символы при выводе в консоль списка файлов?
Как избавиться от * и . при работе с указателями? C++
Как убрать запятую в конце при циклическом поштучном выводе слов? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 00:03     Как избавиться от экспоненциального вида при выводе числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
unsigned int factorial(int);
 
int main() {
 
        int N = 69;
 
        for (int i = 0; i <= N; i++) {
        cout << "\t" << i << "! = " << factorial(i) << "\n";
        }
 
        return 0;
}
 
unsigned int factorial(int n) {
        if (n < 0) return 0;
        if ((n == 0) || (n == 1)) return 1;
        else return n * factorial(n - 1);
}
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
21.04.2009, 00:10  [ТС]     Как избавиться от экспоненциального вида при выводе числа #3
Это на каком компиляторе такое возможно? Как правило за 20 уже стандартных типов не хватит.
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 00:13     Как избавиться от экспоненциального вида при выводе числа #4
ну) ч поставил чтоб увидеть до скольки точно хватает: до 33) дальше просиходит вызод за пределы числа, и как следствие выводятся 0
Yandex
Объявления
21.04.2009, 00:13     Как избавиться от экспоненциального вида при выводе числа
Ответ Создать тему
Опции темы

Текущее время: 00:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru