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

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

Войти
Регистрация
Восстановить пароль
 
RARNAME
Сообщений: n/a
#1

факториал с точностью до единицы - C++

12.11.2012, 18:34. Просмотров 337. Ответов 1
Метки нет (Все метки)

Привет всем! Помогите исправить код,считает правильно все факториалы от 0 до 20,у остальных неверно. Посоветовали ввести ограничение на числа хранимые в result от 0 до 9 включительно,но мне так и не удалось эт правильно сделать.
вот код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <stdlib.h>
unsigned char result[999];
unsigned int n,i,r,rd,re;
int k,j;
void main()
{printf ("\nВведите число от 0 до 1000\n");
do
{scanf ("%d", &k);
if(k<0 || k>1000)
printf("число должно быть в пределе от 0 до 1000\n");}
while(k<0 || k>1000);
for(result[0]=1,n=0,i=1;i<=k;i++)
{re=0;
for(j=0;j<=n;j++)
{r=result[j]*i+re;
re=r%10;
rd=r/10;
result[j]=re;
re=rd;}
if(rd!=0)
{n+=1;
result[n]=rd;}}
printf ("Результат\n");
for(j=n;j>=0;j--)
printf("%d",result[j]);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 18:34     факториал с точностью до единицы
Посмотрите здесь:

Единицы - C++
Помогите пожалуйста с решением задачи В арифметическом выражении разрешается использовать число 1, операции сложения, умножения и...

Единицы - C++
Помогите пожалуйста, кому не сложно сделать задачку, ребят. Заранее огромное спасибо Найдите двоичное число с наименьшим числом...

Шаблоны и единицы трансляции - C++
Всем привет. Единица трансляции - это *.cpp с включенными в него файлами, я так понимаю Тогда почему не работает такой вариант:...

Округление float до единицы - C++
Например есть число с плавающей точкой. Как его превратить в единицу без преобразования типа в int? Желательно без использования условных...

Степень минус единицы - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using namespace std; double...

Определяет единицы массы в кг - C++
Определяет единицы массы в кг, г, мг. Ниже приведены неметричес¬кие русские единицы массы: Берковец = 10 пудам = 163805 кг, пуд = 40...

Распознать нули и единицы - C++
Помогите написать задачку, очень надо)) 00010001110 это условие 00010001010 00010001010 00010001110 и вот, что должно...

Древнерусские Неметрические единицы длины - C++
4) Древнерусские Неметрические единицы длины: 1 верста = 500 саженей; 1 сажень = 3 аршина; 1 аршин = 16 вершков, 1 вершок = 44,45 мм. Длина...

факториал в с++ - C++
Дано целое число N (&gt;0). Используя один цикл, найти сумму 1!+2!+3!+....N! Выражение N! - N-факториал- обозначает произведение всех целых...

Факториал - C++
Нада зделать прогу штоби она виводила таким образом X 2 4 6 8 10 а Y 2! 4! 6! 8! 10! тоисть факториал от Х зделайте плз оч надо на С/С++


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
12.11.2012, 18:41     факториал с точностью до единицы #2
Цитата Сообщение от RARNAME Посмотреть сообщение
Привет всем! Помогите исправить код,считает правильно все факториалы от 0 до 20,у остальных неверно. Посоветовали ввести ограничение на числа хранимые в result от 0 до 9 включительно,но мне так и не удалось эт правильно сделать.
Проблема факториала в быстром переполнении, но ограничивать резалт нельзя: если сама функция на самом деле больше твоего ограничения, то ошибка будет ещё раньше. Ограничивать надо параметр.
Ответ Создать тему
Опции темы

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