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

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

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

Обьясните построчно код (вычесление факториала) - C++

11.10.2013, 09:19. Просмотров 312. Ответов 1
Метки нет (Все метки)

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
28
29
30
31
32
33
34
#include <stdio.h>
unsigned long array[10000] = {1};
unsigned long len= 1;
void main()
{
unsigned long i;
unsigned long l;
unsigned long cn;
unsigned int N;
printf("\nVvedite polozhitel'noe 4islo\n");
scanf("%d",&N);
if (N>=0)
    {
    cn= 0;
    for(l= 1; l<=N; l++)
    {
    for(i= 0; i<len || cn; i++)
    {
    cn+= array[i]*l;
    array[i]= (unsigned long)(cn%10000);
    cn/= 10000;
    }
    len= i;
    }
    printf("%d", array[len-1]);
    for(i= len-1; i--;)
    {
    printf("%04d", array[i]);
    }
    printf("\n");
    }
    else
    printf("\n error \n");
}
Добавлено через 10 часов 6 минут
Помогите, а)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2013, 09:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обьясните построчно код (вычесление факториала) (C++):

обьясните код - C++
обьсните пожалуста код...Каждая строка за что отвечает...а то я не оч понимаю... #include &quot;stdafx.h&quot; #include &lt;fstream&gt; using...

Обьясните код - C++
Ребят помогите с обьяснением этой проги !!! #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; ...

Обьясните код программы - C++
Обьясните подробно. Какая строка за какой идёт и что вообще происходит =) #include &lt;iostream&gt; using namespace std; class...

обьясните пожалуйста код - C++
#include&lt;cstdio&gt; #include&lt;cstdlib&gt; #include&lt;iostream&gt; #include&lt;string.h&gt; using namespace std; class NameDataSet { public: ...

Обьясните код функции (пользовательский strcat) - C++
Это пользовательский релиз стандартной функции strcat(). Суть моего вопроса: Объясните мне пожалуйста весь код функции mystrcat(),...

Расписать построчно код - C++
Помогите, мне нужно написать что описывает это программа, и все Void sort (int in, int out, int n) { Int I, j, cnt; For (i=0; i&lt;n;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
11.10.2013, 09:49 #2
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
28
29
30
31
32
33
34
#include <stdio.h> // Стандартный заголовочный файл языка Си (без плюсов). В нем описаны printf и т.д.
unsigned long array[10000] = {1}; // Объявление глобального массива array из 10000 элементов и заполнение его единицами
unsigned long len= 1; // Объявление глобальной переменной len и присваивание ей единицы
void main() // начало главной функции
{
unsigned long i; // Объявление
unsigned long l; //  временных
unsigned long cn; //  переменных
unsigned int N; // 
printf("\nVvedite polozhitel'noe 4islo\n"); // Вывод на экран надписи
scanf("%d",&N); // Ожидание ввода целочисленного значения в переменную N
if (N>=0) // Проверка условия: больше ли N нуля?
    { 
    cn= 0; // Присваивание переменной cn нуля
    for(l= 1; l<=N; l++) // Цикл по переменной l от 1 до N с шагом 1
    {
    for(i= 0; i<len || cn; i++) // Вложенный цикл по переменной i от 0 до len с шагом 1
    {
    cn+= array[i]*l; // Прибавление к текущему значению переменной cn значения i-го элемента массива array, умноженного на l
    array[i]= (unsigned long)(cn%10000); // Присваивание i-тому элементу массива array остатка от деления cn на 10000, приведенному к целочисленному типу
    cn/= 10000; // Деление значения cn на 10000 и помещение результата обратно в переменную cn
    }
    len= i; // Присваивание переменной len значения i
    }
    printf("%d", array[len-1]); // Вывод на экран 
    for(i= len-1; i--;) // Цикл по i от len-1 до нуля с шагом -1
    {
    printf("%04d", array[i]); // Вывод массива на экран
    }
    printf("\n"); // Вывод на экран переноса строки
    }
    else // Если условие N>=0 не выполнилось, тогда
    printf("\n error \n"); // вывести на экран надпись
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2013, 09:49
Привет! Вот еще темы с ответами:

Построчно прокомментировать код - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;dos.h&gt; #include &lt;string.h&gt; #include &lt;iostream&gt; #include...

Плз обьясните неучу как выполнить в VC++ код на asme. - C++
Плз обьясните неучу как выполнить в VC++ код на asme. Дериктива _asm а как с ней работать ? Допутим есть код для примера : ...

Обьясните, почему код так странно считает факториалы - C++
Добрый день, ув. форумчане. Есть код, считающий факториалы:#include &quot;stdio.h&quot; #include &quot;windows.h&quot; __int64 factorial(__int64 n) { ...

Подсчет факториала рекурсией(код в нутри). - C++
надо подсчитать факториал рекусией, но так как в программе(что бы переменную nможно было использовать не только в рекурсии) #include...


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

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

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