Автор ответа: 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.
- Присвоим переменной-счетчику значение 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