Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Самостоятельные задания:
Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b.
Бейсик | Паскаль |
DIM X, A, B AS INTEGER INPUT X A=0: B=1 WHILE X > 0 A = A+1 B = B*(X MOD 10) X = X \ 10 WEND PRINT A PRINT B | var x, a, b: integer; begin readln(x); a:=0; b:=1; while x>0 do begin a:=a+1; b:=b*(x mod 10); x:= x div 10; end; writeln(a); write(b); end. |
Си | Алгоритмический |
#include<stdio. h> void main() { int x, a, b; scanf("%d", &x); a=0; b=1; while (x>0){ a=a+1; b=b*(x%10); x= x/10; } printf("%d\n%d", a, b); } | алг нач цел x, a, b ввод x a:=0; b:=1 нцпока x>0 a:=a+1 b:=b*mod(x,10) x:=div(x,10) кц вывод a, нс, b кон |
Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 5.
Ответ: 511
Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b.
Бейсик | Паскаль |
DIM X, A, B AS INTEGER INPUT X A=0: B=1 WHILE X > 0 A = A+1 B = B*(X MOD 10) X = X \ 10 WEND PRINT A PRINT B | var x, a, b: integer; begin readln(x); a:=0; b:=1; while x>0 do begin a:=a+1; b:=b*(x mod 10); x:= x div 10; end; writeln(a); write(b); end. |
Си | Алгоритмический |
#include<stdio. h> void main() { int x, a, b; scanf("%d", &x); a=0; b=1; while (x>0){ a=a+1; b=b*(x%10); x= x/10; } printf("%d\n%d", a, b); } | алг нач цел x, a, b ввод x a:=0; b:=1 нц пока x>0 a:=a+1 b:=b*mod(x,10) x:=div(x,10) кц вывод a, нс, b кон |
Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 14.
Ответ: 127
Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b.
Бейсик | Паскаль |
DIM X, A, B AS INTEGER INPUT X A=0: B=0 WHILE X > 0 A = A+1 B = B +(X MOD 10) X = X \ 10 WEND PRINT A PRINT B | var x, a, b: integer; begin readln(x); a:=0; b:=0; while x>0 do begin a:=a+1; b:=b+(x mod 10); x:=x div 10; end; writeln(a); write(b); end. |
Си | Алгоритмический |
#include<stdio. h> void main() { int x, a, b; scanf("%d", &x); a=0; b=0; while (x>0){ a=a+1; b=b + (x%10); x= x/10; } printf("%d\n%d", a, b); } | алг нач цел x, a, b ввод x a:=0; b:=0 нцпока x>0 a:=a+1 b:=b+mod(x,10) x:=div(x,10) кц вывод a, нс, b кон |
Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 8.
Ответ: 80
Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b.
Бейсик | Паскаль |
DIM X, A, B AS INTEGER INPUT X A=0: B=0 WHILE X > 0 A = A+1 B = B +(X MOD 10) X = X \ 10 WEND PRINT A PRINT B | var x, a, b: integer; begin readln(x); a:=0; b:=0; while x>0 do begin a:=a+1; b:=b+(x mod 10); x:=x div 10; end; writeln(a); write(b); end. |
Си | Алгоритмический |
#include<stdio. h> void main() { int x, a, b; scanf("%d", &x); a=0; b=0; while (x>0){ a=a+1; b=b + (x%10); x= x/10; } printf("%d\n%d", a, b); } | алг нач цел x, a, b ввод x a:=0; b:=0 нцпока x>0 a:=a+1 b:=b+mod(x,10) x:=div(x,10) кц вывод a, нс, b кон |
Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 8.
Ответ: 17.
Разбор задачи B8 (демо ЕГЭ 2013)
Ниже на четырёх языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 21.
Бейсик | Паскаль |
DIM X, A, B AS INTEGER | var x, a, b: integer; |
Си | Алгоритмический |
#include<stdio. h> | алг |
Ответ: 37
Решение:
В программе отражена работа цикла while ("пока"). Суть программы следующая:
Вводится какое-то число x, затем мы анализируем цифры, входящие в это число. В каждом проходе цикла мы делим нацело x на 10. Соответственно, двигаемся от единиц к более старшим разрядам: десяткам, сотням и т. д. Затем мы выводим количество цифр, входящих в введенное число, и произведение этих цифр.
a - счетчик: хранит число, которое показывает сколько проходов было выполнено в цикле (сколько цифр в числе). На выходе печатается значение a=2, поэтому цикл выполнялся 2 раза. Следовательно, в числе содержится 2-е цифры.
b - хранит произведение цифр, входящих в число. Т. к. в числе 2-е цифры, то в b будет записано произведение цифр, находящихся в позиции "единица" и "десяток", соответственно.
На выходе b=21, поэтому произведение равно 21. 21=3*7, поэтому входящее число может быть равно 37 или 73. По условию, число должно быть наименьшим.
Получили, x=37.
Разбор задачи B8 (демо ЕГЭ 2012)
Время выполнения-2 мин, уровень сложности-повышенный
Запись числа 6710 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Чему равно основание этой системы счисления N?
Ответ: 3
Решение:
Начнем с двоичной системы. Для хранения числа 67 необходимо 7 цифр, т. к. 64<67<1=27.
Троичная система. Для хранения числа 67 нужно 4 цифры, т. к. 27<67<81. 81=34. Следовательно, троичная система удовлетворяет условию: "число содержит 4 цифры". Теперь необходимо проверить, удовлетворяет данная система условию: "число оканчивается на 1". Для этого нужно перевести 6710 в троичную систему. Но полный перевод делать не надо, т.к. нас интересует только первый остаток, на него и будет оканчиваться 67 в троичной системе.
Остаток равен 1. Следовательно, и второе условие выполнено, поэтому троичная система подходит. Основание троичной системы равно 3.
Разбор задачи B8 (демо ЕГЭ 2011)
Время выполнения-8 мин, уровень сложности-повышенный
Строки (цепочки символов латинских букв) создаются по следующему правилу.
Первая строка состоит из одного символа – латинской буквы «А». Каждая из последующих цепочек создается такими действиями: в очередную строку сначала записывается буква, чей порядковый номер в алфавите соответствует номеру строки (на i-м шаге пишется i-я буква алфавита), к ней слева дважды подряд приписывается предыдущая строка.
Вот первые 4 строки, созданные по этому правилу:
(1) A
(2) AAB
(3) AABAABC
(4) AABAABCAABAABCD
Латинский алфавит (для справки): ABCDEFGHIJKLMNOPQRSTUVWXYZ
Имеется задание:
«Определить символ, стоящий в n-й строке на позиции 2n–1– 5, считая от левого края цепочки».
Выполните это задание для n = 8.
Ответ: С
Решение:
Определим позицию искомого символа:
2n–1– 5=28-1-5=27-5=128-5=123.
Введем обозначение: "AABAABCAABAABCD"-().
Распишем, какие будут созданы строки с 5-го по 8-й шаг.
E
(6)()()E ()()E F
E()()EF ()()E()()EF G
E()()EF()()E()()EFG ()()E()()EF()()E()()EFG H
Чтобы определить позиции символов, нужно определить сколько символов образуется на каждом шаге. Количество символов определяется по формуле:
Ni=2i-1,
где i-шаг.
На 7-м шаге образуется N7=27-1=127 символа:
E()()EF ()()E()()EF G127
На 8-м шаге образуется N8= 28-1=255 символов. Нам нужно найти 123 позицию. До 127 позиции символов на 7-м и 8-м шаге одинаковы:
(7) ()()E()()EF ()()E()()EF G
(8) ()()E()()EF()()E()()EFG ()()E()()EF()()E()()EFG H
Поэтому будем смотреть по 7-му шагу. Так проще, т.к. там меньше элементов. Определим позиции элементов, близкие к искомому:
E()()EF ()()E()()E125F126 G127
Получается, что элемент в позиции 123 нужно смотреть в ():
(4) AABAABCAABAABC123D124
Получили:С.


