Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 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
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
кон

Ответ: 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

Получили:С.