Напишите функцию, вычисляющую факториал числа.
Пользуясь этой функцией, напишите программу, вычисляющую N! для натуральных чисел N, не превышающих 12.
Используя функцию вычисления факториала, напишите функцию, вычисляющую Cnk, пользуясь формулой Cnk=n!/(k!*(n-k)!)
Пользуясь этой функцией, напишите программу, вычисляющую Cnk для натурального числа n, не превышающего 12, и целого числа k (0≤k≤n).
Пример
4 2 ---> 6
3 0 ---> 1
Примечание.
Умеем считать числа
Cnk с помощью треугольника Паскаля?
Как Вы думаете, какой из способов лучше (или какие плюсы
и какие минусы у каждого из способов).
Пользуясь функциями из предыдущей задачи напишите программу, которая для заданного числа N (от 1 до 12) вычислит сумму CNk для заданного N и всех k от 0 до N, т.е. сумму CN0+CN1+...+CNN
Пример
2 --->4
Примечание.
Написав программу, внимательно посмотрите на ответы,
которые у вас получаются для разных значений N (они отнюдь не случайны!).
Написав функцию, вычисляющую сумму цифр числа, решите следующую задачу:
Дано число N и затем N чисел, все числа — двухзначные.
Найти число с наибольшей суммой цифр.
Обратите внимание, что вывести нужно не сумму цифр, а само число.
Пример
3 12 18 22 --->18
Напишите функции
printasterisks(k); printspaces (k)первая из которых печатает в строку k звездочек, а вторая — k пробелов.
Пользуясь этими функциями, напишите программу, которая печатает на экране треугольник из n строк, аналогичный показанному (для n=3):
* *** *****
Обратите внимание, что в последней строке звездочки должны начинаться непосредственно с первой позиции строки. Никаких лишних символов после последней звездочки в строках быть не должно.
Вводится одно натуральное число N (не превышающее 40). Ваша программа должна печатать треугольник.
Пример ввода | Пример вывода |
3 |
* *** ***** |
Пользуясь своими успехами из предыдущей задачи, напишите программу, которая печатает на экране два треугольника из n строк, аналогично показанному (для n=3):
* * *** *** ***** *****
Обратите внимание, что в последней строке звездочки должны начинаться непосредственно с первой позиции строки. В последней строке два треугольника должны разделяться ровно одним пробелом. Никаких лишних символов после последней звездочки в строках быть не должно.
Вводится одно натуральное число N (не превышающее 40). Ваша программа должна печатать два треугольника.
Пример ввода | Пример вывода |
3 |
* * *** *** ***** ***** |
Напишите функцию
addкоторая получает на вход две дроби a/b и c/d (задаваемые соответствующими переменными), складывает их, получает результат в виде дроби q/w и возвращает результат, записывая его в переменные, указанные в качестве двух последних параметров при вызове функции.
Напишите программу, которой вводятся четыре числа a, b, c, d, задающие дроби a/b и c/d, и которая выводит результат сложения этих двух дробей в виде двух чисел, задающих числитель и знаменатель результата.
Все вводимые числа натуральные, не превышающие 1000. Выдаваемые числа должны не превышать 2000000. Если ответ может быть записан несколькими дробями, любая из них является верной (например, 5/4 может быть записано и как 10/8).
Пример ввода | Пример вывода |
1 2 3 4 |
5 4 |
Доработайте предыдущую задачу так, чтобы результатом add всегда была несократимая дробь.
Напишите программу, которой вводятся четыре числа a, b, c, d, задающие дроби a/b и c/d, и которая выводит результат сложения этих двух дробей в виде двух чисел, задающих числитель и знаменатель результата.
Все вводимые числа натуральные, не превышающие 1000. Ответ должен быть записан в виде несократимой дроби.
Пример ввода | Пример вывода |
1 2 3 4 |
5 4 |