![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 23.05.2009
Сообщений: 6
|
![]()
Здравствуйте, давно меня не было здесь, школа прошла, ЕГЭ я сдал, огромное спасибо сему форуму за помощь в подготовке и решении программ. Но так уж вышло, что в университете началось программирование и не на паскале, который казался мне проще, а на бейсике. Я в этом языке плаваю, поэтому есть несколько вопросов по одной задаче.
"Реализовать программу вычисления последовательности десятичных цифр при вычислении n! (n-факториал (кстати, на самом листе с заданием написано с опечаткой) ), (n<=50). Результат оформить в виде многоразрядного десятичного числа; плоской гистограммы цифр, в пределах выбранного десятка десятичных цифр." Так вот, сначала думается, ну просто, считаем собственно факториал: ![]() Пробуем маленькое число, например 5 - считает, но стоит ввести 50, ему недостаточно места. Уже загвоздка. Чего ему не нравится? Надо поставить какой-то тип данных? Длинный числовой? Подскажите как. Далее, насколько я понял, там могут получиться совершенно разные числа и мне надо подсчитать сколько в таком вот числе единичек, двоек, троек и нарисовать прямоугольнички? Прямоугольники задаются краями диагоналей, то есть надо поставить какой-то счётчик, посчитать например количество единиц, а это делается как? Перевести число в символьным тип? Просто никакие функции так сразу в голову не приходят. Подскажите, как это всё осуществить, как сделать-то эту гистограмму, тут моё воображение спотыкается. Зарание благодарю. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.05.2010
Сообщений: 495
|
![]()
можно было бы использовать тип DOUBLE
DIM P AS DOUBLE в него влазит. Но его потом не преобразуешь в строку STR$(p) = 3.041409320171338D+64 выдается в экспоненциальной форме. Делить по MOD такое число тоже нельзя. Перед деление он пытается преобразовать его в целое, а разрядности не хватает. Так что путь у тебя один. Сделать подпрограмму целочисленного умножения со строками. Вот кстати недавно была на Паскале : http://www.programmersforum.ru/showt...E5%F2%E8%EA%E0
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948 Последний раз редактировалось Z1000000; 13.05.2010 в 11:21. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 23.05.2009
Сообщений: 6
|
![]()
Z1000000, спасибо за совет) Но...
Долго пришлось париться с прогой, но вот преподаватель расщедрилась, и разрешили делать иначе немного и у меня возник вопрос, а как откинуть дробную часть числа и сохранить? То есть для гистограммы мне нужно посчитать сколько каких чисел в факториале, и я делю на 10 и хочу сохранить.. например 452414\10=45241,4 - мне нужно эту четвёрочку стырить. Как? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дисперсия. Гистограмма | p4serhiy | Помощь студентам | 2 | 15.04.2010 08:34 |
Гистограмма по числам из массива | sokla | Помощь студентам | 1 | 06.01.2010 12:15 |
C++ Гистограмма | xxxPascalxxx | Помощь студентам | 1 | 05.11.2009 15:05 |
Факториал. | dimka660i | Помощь студентам | 11 | 10.10.2009 23:28 |
Факториал | Killbrum | Софт | 14 | 13.08.2008 00:34 |