Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

12.11.2012, 18:34. Просмотров 358. Ответов 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]);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 18:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос факториал с точностью до единицы (C++):

Описать рекурсивные функции вещественного типа, вычисляющие факториал и двойной факториал заданного числа - C++
Описать рекурсивные функции Fact(N) и Fact2(N) вещественного типа, вычисляющие значения факториала N! и двойного факториала N!!...

Дано натуральное число n. Отбросить в нем все цифры, стоящие правее самой правой единицы либо оставить число без изменений, если единицы в нем нет - C++
Дано натуральное число n. Отбросить в нем все цифры, стоящие правее самой правой единицы либо оставить число без изменений, если единицы в...

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

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

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

Единицы массы - C++
Ребята, помогите пожалуйста перевести программку с паскаля на С++: Единицы массы пронумерованы следующим образом: 1 — килограмм, ...

1
taras atavin
3888 / 1762 / 92
Регистрация: 24.11.2009
Сообщений: 27,565
12.11.2012, 18:41 #2
Цитата Сообщение от RARNAME Посмотреть сообщение
Привет всем! Помогите исправить код,считает правильно все факториалы от 0 до 20,у остальных неверно. Посоветовали ввести ограничение на числа хранимые в result от 0 до 9 включительно,но мне так и не удалось эт правильно сделать.
Проблема факториала в быстром переполнении, но ограничивать резалт нельзя: если сама функция на самом деле больше твоего ограничения, то ошибка будет ещё раньше. Ограничивать надо параметр.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 18:41
Привет! Вот еще темы с ответами:

Вычислить факториал с точностью Е - VBA
есть программный код VB Sub Пример6() Dim x, eps As Single Dim i As Long eps = 0.001 ' Задаем точность вычислений i...

Вычислить факториал с заданной точностью - Pascal ABC
Дано выражение \sum_{i=1}^{6}{i}^{0.4}\sum_{j=1}^{\infty}\frac{{10}^{0.1ij}}{j!-{j}^{2}+5.2} Вычислить с точностью до 0.0001 Застрял...

Извлекаем факториал с абсолютной точностью. - Visual Basic .NET
Вот представляю вам утилитку для нахождения факториала. Просто я часто встречал вопросы с факториалом и числами высокой точности на форумах...

Создать файл произвольного доступа с полями название продукции, вес единицы, цена единицы - C (СИ)
Создать файл произвольного доступа с полями название продукции, вес единицы, цена единицы.Та вывести на печать те записи вес которых больше...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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