0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 7
1

Вычислить факториал введенного числа n! (0<n<1001) и вывести результат

01.01.2017, 19:47. Показов 1227. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вычислить факториал введенного числа n! (0<n<1001) и вывести результат
Помогите пожалуйста...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.01.2017, 19:47
Ответы с готовыми решениями:

Вычислить факториал введённого числа
Подскажите пожалуйста как написать программу, которая вычислила бы факториал введённого числа)

Вычислить факториал введенного числа
Обсчитать факториал введенного числа за доп. while

Вычислить факториал введенного числа (цикл for)
помогите решить задачу- нужно вычислить факториал вводимого числа с использованием оператора...

Вычислить факториал введенного с клавиатуры числа
Задание 2: Составить программу с использованием цикла с параметрами. Предусмотреть задание исходных...

2
Модератор
Эксперт по электронике
8340 / 4234 / 1605
Регистрация: 01.02.2015
Сообщений: 13,185
Записей в блоге: 5
01.01.2017, 22:28 2
В закреплённой теме FAQ есть несколько статей, посвящённых длинным числам. Одна из них - вычисление факториала. Там, правда для Windows, но можно изменить на 16 разрядный DOS.

Добавлено через 2 минуты
Начните. Просто нет никакого желания выполнять за вас столь значительный объём работы.
Ошибки уже можно исправлять.
0
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 7
02.01.2017, 16:57  [ТС] 3
Нашел код, как его исправить, чтобы под dos работал?
Assembler
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
.586p
.model flat
.code
include windows.inc
includelib user32.lib
extrn _imp__MessageBoxA@16:dword
n equ 73
 
start:  mov edi,offset result+len;edi - указатель на последний байт результата
    mov esi,n
    mov dword ptr [edi-4],esi
    sub edi,8
    mov ebp,1
    dec esi
@1: mov ecx,ebp
    xor ebx,ebx
@@: mov eax,dword ptr [edi+4*ecx]
    mul esi
    add eax,ebx
    adc edx,0
    mov ebx,edx
    mov dword ptr [edi+4*ecx],eax
    loop @b;.untilcxz
    je @2;  .if !ZERO?
    mov dword ptr [edi],edx
    cmp dword ptr [edi+4*ebp],0
    je @f
    inc ebp
@@: sub edi,4
@2: dec esi
    jne @1;.until ZERO?
; big-endian --> litle-endian
    mov edi,offset result
    mov cl,len/4;длина результата в двордах
@@: mov eax,[edi]
    bswap eax
    stosd
    loop @b
; перевожу hex->dec
    mov esi,offset terminator-1;
@3: mov cl,len;длина в байтах значения делимого
    mov edi,offset result
    xor eax,eax
@@: mov al,[edi];делимое
    div ten
    stosb
    loop @b
    or [esi],ah;остаток
    dec esi
    cmp dword ptr [edi-4],0;cmp result+36,0
    jne @3
    cmp dword ptr [edi-8],0;cmp result+32,0
    jne @3
    cmp dword ptr [edi-12],0;cmp result+32,0
    jne @3
; вывожу на экран
    inc esi
    push MB_OK + MB_ICONASTERISK
    push offset mesbox_title   
    push esi;offset mesbox_text с поправкой на ведущие нули
    push 0
    call _imp__MessageBoxA@16
    ret;выходим из программы
result  db 44 dup (0)
len = $-result
ten db 10
mesbox_text db 112 dup ('0')
terminator db 0
mesbox_title db 'Факториал',0
end start
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2017, 16:57
Помогаю со студенческими работами здесь

Вычислить факториал натурального числа n, введённого с клавиатуры.
Создайте программу, вычисляющую факториал натурального числа n, которое пользователь введёт с...

Вычислить факториал числа, введенного с клавиатуры, используя цикл с предусловием
4) Написать программу, которая вычисляет факториал числа, введенного с клавиатуры используя цикл с...

Длинная арифметика: вывести результат вычитания единицы из числа, введенного с клавиатуры
Доброго времени суток. Задача: вывести на экран результат вычитания единицы из числа, введенного с...

Факториал: Вычислить значение n! для n введенного с клавиатуры
Вычислить значение n! для n введенного с клавиатуры Public Class Form1 Private Sub...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru