Написать программу которая вычисляет факториал введенного с клавиатуры

Автор ответа: HRAshton

var
y: System.uint64; //Большая цЫфра же и положительная
x, i: byte; //Нет смысла большие числа брать слишком, переполнение будет

begin
readln(x); //Принимаем число.
y := 1;
for i := 1 to x do
y *= i; //. и умножаем такое-то количество раз
if (y = 0) then //Выводим, предусмотрев переполнение
writeln(‘Слишком большая цЫферка’)
else
writeln(y);
end.
==========================================
Int64 — это то же самое, что LongInt, а Uint64 (unsign long int) — длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64

Автор ответа: HRAshton

Int64 — это то же самое, что LongInt, а Uint64 (unsign long int) — длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64

Интересные вопросы
Предмет: История, автор: Michan4ik
5 лет назад
Предмет: Физика, автор: rusdingo63
5 лет назад
Предмет: Алгебра, автор: Kolyanfjjk

Алгоритм нахождения факториала (Factorial algorithm)

5 лет назад
Предмет: Математика, автор: Аноним

Срочно д.з помогите кто умный!кто сколько сможет заданий решите желательно все
1.из предложенных последовательностей,выберите последовательность чисел,кратных 4:
1)4,5,6,7,8,9, .
2)4,6,8,10,12.
3)4,8,12,15,16.
4)4,8,12,16,20.
2.На рисунке изображен компас.Угол между направлениями не больше 180 градусов.Какое из высказываний неверно? ( там рисунок просто :с,с-в,в,ю-в,ю,ю-з,з ,с-з. простой круг и там это указано я вправую сторону песлала это вот с,с-з..)
1)Угол между направлениями на север и восток равен 90 градусов
2)Угол между направлениями на север и юг равен 180 градусов.
3)Угол между направлениями на север и северо-восток авен 30 градусов.
4)Угол между направлениями на юго-восток и север равен 135 градусов.
3. Прописными буквами выделены 3 слова.Выберите из списка предложенных слов четвертое слово,которое так же связано с третьим, как второе с первым.
АР-КВАДРАТНЫЙ МЕТР,ДЕЦИМЕТР- .
1) длина
2)метр
3)сантиметр
4)миллиметр
4. Продолжите предложение и получите верное высказывание:
Если числитель дроби увеличить в 5 раз,а знаменатель увеличить в 25 раз,то дробь .
1)увеличится в 5 раз
2)уменьшится в 5 раз
3)увеличится в 125 раз
4)уменьшиться в 125 раз
5. В пропорции х внизу черта дорби 6 = 4 черта дроби 5 найдите неизвестный член.В таблице укажите номер верного ответа. тоесть так х=4
_ _
6 5
1)х=30
_
4
2) х=20
_
6
3)х=4,8
4) нече не написано пустая клетка почемуто ..

Читайте также:
Программа с помощью которой можно зайти на другой компьютер

Источник: sous-otvet.net

вычисляю факториал натурального числа n, которое пользователь введёт с клавиатуры [закрыт]

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Найти факториал числа. Решение задачи на языке программирования Python

Закрыт 5 лет назад .
Не понимаю в чем ошибка

import java.util.Scanner; public class Zadachi< public static void main(String[] args)< int a; long b=1; Scanner scn=new Scanner(System.in); System.out.println(«Введите натуральное число»); if(scn.hasNextInt())< a=scn.nextInt(); for(int i=a;i>0;i—) < >System.out.println(«Факториал числа «+a+» равен «+b); > else System.out.println(«Ошибка. Введено не число»); >
Отслеживать
задан 16 янв 2018 в 3:22
Terletskiy Alexander Terletskiy Alexander
77 7 7 бронзовых знаков
У вас пустой цикл for — так и надо?

16 янв 2018 в 3:27

Напишите что именно происходит не так (код не компилируется? возникает исключение при исполнении? результат не тот? для какого значения?)

16 янв 2018 в 3:30
Спасибо за помощь
16 янв 2018 в 3:46

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Представленое решение не совсем верное. Если ввести, например, число 123, то результатом будет 0. Если уже пожертвовать временем работы, то можно переписать на BigInteger и тогда результат будет правильный.

Вот пример кода:

import java.math.BigInteger; import java.util.Scanner; public static void main(String[] args) < int a; BigInteger bi = BigInteger.ONE; Scanner scn = new Scanner(System. in ); System.out.println(«Введите натуральное число»); if (scn.hasNextInt()) < a = scn.nextInt(); for (int i = a; i >0; i—) < bi = bi.multiply(BigInteger.valueOf(i)); >System.out.println(«Факториал числа » + a + » равен » + bi); > else < System.out.println(«Ошибка. Введено не число»); >>

Читайте также:
Каким образом выполнить деинсталляцию программы

Источник: ru.stackoverflow.com

Задача — Вычислить факториал числа — программирование на разных языках

Задача - Вычислить факториал числа - программирование на разных языках

Задача — Вычислить факториал числа
— программирование на Pascal, Си, Кумир, Basic-256, Python

Вычислить факториал введенного числа.

Факториалом числа называют произведение всех натуральных чисел до этого числа включительно. Например, факториал числа 4 равен 1*2*3*4 = 24. Записывается факториал так: 4! = 24.

Поскольку факториал резко увеличивается с каждым следующим числом не следует вводить больших чисел.

  1. Присвоим переменной, накапливающей произведение натуральных чисел, начальное значение 1.
  2. Присвоим переменной-счетчику значение 2.
  3. Пока переменная счетчик не достигнет числа, введенного пользователем,
  1. умножать значение переменной, в которой накапливается произведение, на значение переменной счетчика,
  2. увеличивать счетчик на 1.

Pascal

var
n,i: byte;
f: longint;
begin
readln(n);
if n<>0 then f:=1;
for i:=2 to n do f := f*i;
writeln(f);
end. 8
40320

Язык Си

main() unsigned short n,i;
unsigned int f;
scanf(«%d»,
if (n != 0) f=1;
for (i=2; i printf(«%dn»,f);
> 5
120

Python

n = int(input())
f = 0
if n > 0: f = 1
for i in range(2,n+1):
f *= i
print(f) 10
3628800

КуМир

алг факториал
нач
цел n,i,f
ввод n
f:=0
если n > 0 то f:=1 все
нц для i от 2 до n
f := f*i
кц
вывод f
кон 7
5040

Basic-256

input n
f = 0
if n>0 then f = 1
for i=2 to n
f = f * i
next i
print f 12
479001600

Источник: ars-games.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru