ЕГЭ Информатика задание №20 Демонстрационный вариант 2019
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 21, а потом 3.
Бейсик
DIM X, L, M AS INTEGER INPUT X L = 1 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 <> 0 THEN L = L * (X MOD 8) END IF X = X \ 8 WEND PRINT L PRINT M |
Python
x = int(input()) L = 1 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L * (x % 8) x = x // 8 print(L) print(M) |
Алгоритмический язык
алг нач цел x, L, M ввод x L := 1 M := 0 нц пока x > 0 M := M + 1 если mod(x,2) <> 0 то L := L * mod(x,8) все x := div(x,8) кц вывод L, нс, M кон |
Паскаль
var x, L, M: integer; begin readln(x); L := 1; M := 0; while x > 0 do begin M := M + 1; if x mod 2 <> 0 then L := L * (x mod 8); x := x div 8 end; writeln(L); writeln(M) end. |
С++
#include <iostream> using namespace std; int main(){ int x, L, M; cin >> x; L = 1; M = 0; while (x > 0) { M = M + 1; if(x % 2 != 0) { L = L * (x % 8); } x = x / 8; } cout << L << endl << M << endl; return 0; } |
ЕГЭ Информатика задание №20 Демонстрационный вариант 2018
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 5, а потом 7.
Бейсик
DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 <> 0 THEN L = L + 1 END IF X = X \ 2 WEND PRINT L PRINT M |
Python
x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + 1 x = x // 2 print(L) print(M) |
Алгоритмический язык
алг нач цел x, L, M ввод x L := 0 M := 0 нц пока x > 0 M := M + 1 если mod(x,2) <> 0 то L := L + 1 все x := div(x,2) кц вывод L, нс, M кон |
Паскаль
var x, L, M: integer; begin readln(x); L := 0; M := 0; while x>0 do begin M := M + 1; if x mod 2 <> 0 then L := L + 1; x := x div 2; end; writeln(L); writeln(M); end. |
С++
#include <iostream> using namespace std; int main(){ int x, L, M; cin >> x; L = 0; M = 0; while (x > 0) { M = M + 1; if(x % 2 != 0) { L = L + 1; } x = x / 2; } cout << L << endl << M << endl; return 0; } |
Демонстрационный вариант ЕГЭ 2017 г. – задание №20. Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное число x, этот алгоритм печатает число R. Укажите такое число x, при вводе которого алгоритм печатает двузначное число, сумма цифр которого равна 16. Если таких чисел x несколько, укажите наименьшее из них.
Бейсик
DIM X,D,R AS LONG INPUT X R = 0 WHILE X>0 D = X MOD 10 R = 10*R + D X = X \ 10 WEND PRINT R
Python
x = int(input()) R = 0 while x>0: d = x % 10 R = 10*R + d x = x // 10 print(R)
Алгоритмический язык
алг нач цел x, d, R ввод x R := 0 нц пока x>0 d := mod(x, 10) R := 10*R + d x := div(x, 10) кц вывод R кон
Паскаль
var x,d,R: longint; begin readln(x); R := 0; while x>0 do begin d := x mod 10; R := 10*R + d; x := x div 10 end; writeln(R) end.
Си
#include <stdio.h> int main() { long x,d,R; scanf("%ld", &x); R = 0; while (x>0) { d = x % 10; R = 10*R + d; x = x / 10; } printf("%ld", R); return 0; }
Демонстрационный вариант ЕГЭ 2016 г. – задание №20. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т.е. большее 100) число x, при вводе которого алгоритм печатает 26.
Бейсик
DIM X, L, M AS INTEGER INPUT X L = X M = 65 IF L MOD 2 = 0 THEN M = 52 ENDIF WHILE L <> M IF L > M THEN L = L – M ELSE M = M – L ENDIF WEND PRINT M
Python
x = int(input()) L = x M = 65 if L % 2 == 0: M = 52 while L != M: if L > M: L = L - M else: M = M - L print(M)
Алгоритмический язык
алг нач цел x, L, M ввод x L := x M := 65 если mod(L,2)=0 то M := 52 все нц пока L <> M если L > M то L := L – M иначе M := M – L все кц вывод M кон
Паскаль
var x, L, M: integer; begin readln(x); L := x; M := 65; if L mod 2 = 0 then M := 52; while L <> M do if L > M then L := L - M else M := M – L; writeln(M); end.
Си
#include<stdio.h> void main() { int x, L, M; scanf("%d", &x); L = x; M = 65; if (L % 2 == 0) M = 52; while (L != M){ if(L > M) L = L - M; else M = M - L; } printf("%d", M); }
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
Паскаль | Си | Python |
var x, L, M: integer;
begin |
#include <stdio.h>
int main(void) |
x = int(input()) L = 0; M = 0 while x > 0: L = L + 1 M = M + (x % 10) x = x // 10 print("%d\n%d" % (L, M))
|
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
Паскаль | Си | Python |
var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin L:= L + 1; if x mod 2 = 1 then M:= M + x mod 10; x:= x div 10; end; writeln(L); write(M); end. |
#include <stdio.h> int main(void) { int L, M, x; scanf(″%d″, &x); L = 0; M = 0; while (x > 0) { L = L + 1; if (x % 2 == 1) M = M + (x % 10); x = x / 10; } printf(″%d\n%d″, L, M); } |
x = int(input()) L = 0; M = 0 while x > 0: L = L + 1 if x % 2 == 1: M = M + (x % 10) x = x // 10 print("%d\n%d" % (L, M))
|
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.
Паскаль | Си | Python |
var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin L:=L+1; if (M < x) and (x mod 2 = 1) then begin M:= (x mod 10) * 2; end; x:= x div 10; end; writeln(L); write(M); end. |
#include <stdio.h> int main(void) { int L, M, x; scanf(″%d″, &x); L = 0; M = 0; while (x > 0) { L = L+1; if ((M < x) && (x % 2 == 1) M = (x % 10) * 2; x = x / 10; } printf(″%d\n%d″, L, M); } |
x = int(input()) L = 0 M = 0 while x > 0: L = L + 1 if (M < x) and (x % 2 == 1): M = (x % 10) * 2 x = x // 10 print("%d\n%d" % (L, M))
|
Ниже записан алгоритм. После выполнения алгоритма было напечатано 3 числа. Первые два напечатанных числа – это числа 13 и 65. Какое наибольшее число может быть напечатано третьим
Паскаль | Си | Python |
var x, y, z: integer; r, a, b: integer; begin readln(x, у); if у > x then begin z:= x; x:= у; у:= z; end; a:= x; b:= y; while b > 0 do begin r:= a mod b; a:= b; b:= r; end; writeln(a); writeln(x); write(у); end. |
#include <stdio.h> int main(void) { int r, a, b, x, y, z; scanf(″%d%d″, &x, &y); if (у > x) { z = x; x = у; у = z; } a = x; b = y; while (b > 0) { r = a % b; a = b; b = r; } printf(“%d\n%d\n%d”, a, x, y); } |
x = int(input()) y = int(input()) if (y > x): z = x x = y y = z a = x; b = y while b > 0: r = a % b a = b b = r print("%d\n%d\n%d" % (a, x, y))
|
Ниже записан алгоритм. Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 4, а потом 13.
Паскаль | Си | Python |
var x, a, b: integer; begin readln(x); a := 0; b := 1; while x > 0 do begin a := a+2; b := b*(x mod 1000); x := x div 1000; end; writeln(a); write(b); end. |
#include <stdio.h> int main(void) { int x, a, b; scanf(″%d″, &x); a = 0; b = 1; while (x > 0) { a = a+2; b = b*(x % 1000); x = x / 1000; } printf(″%d\n%d″, a, b); } |
x = int(input()) a = 0; b = 1 while x > 0: a = a + 2 b = b * (x % 1000) x = x // 1000 print("%d\n%d" % (a, b))
|
Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 16.
Паскаль | Си | Python |
var x, L, M: integer; begin readln(x); L := x-16; M := x+16; while L <> M do if L > M then L := L — M else M := M – L; writeln(M); end. |
#include <stdio.h> int main(void) { int x, L, M; scanf(″%d″, &x); L = x-16; M = x+16; while (L != M) { if(L > M) L = L — M; else M = M – L; } printf(″%d″, M); } |
x = int(input()) L = x-16 M = x+16 while L != M: if L > M: L = L - M else: M = M – L print(M)
|
Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 120.
Паскаль
var x, L, M: integer; begin readln(x); L:=0; M:=1; while x > 0 do begin L:=L+1; M:= M*(x mod 8); x:= x div 8; end; writeln(L); write(M); end. |
Python
x = int(input()) L = 0 M = 1 while x > 0 : L = L+1 M = M*(x % 8) x = x // 8 print(L) print(M)
|
С++
#include <iostream> using namespace std; int main() { int L, M, x; cin >> x; L = 0; M = 1; while (x > 0) { L = L + 1; M = M*(x % 8); x = x / 8; } cout << L << endl << M ; return 0; } |
Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 2, а потом 8.
Паскаль
var x, a, b: longint; begin readln(x); a := 0; b := 0; while x > 0 do begin if x mod 2 > 0 then a := a + 1 else b := b + x mod 6; x := x div 6; end; writeln(a); write(b); end. |
Python
x = int(input()) a=0; b=0 while x > 0: if x%2 > 0: a += 1 else: b += x%6 x = x//6 print(a, b)
|
С++
#include <iostream> using namespace std; int main() { int x, a, b; cin >> x; a = 0; b = 0; while (x > 0) { if (x%2 > 0) a += 1; else b += x%6; x = x / 6; } cout << a << endl << b << endl; return 0; } |
Источник: СтатГрад 2017−2018
Ниже на пяти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 6, а потом 15.
Паскаль | Python |
var x, a, b, d: integer; begin readln(x); a := 0; b := 0; d := 0; while x > 0 do begin if d mod 2= 0 then a := a + x mod 10 else b := b + x mod 10; x := x div 10; d:=d + 1 end; writeln(a); write(b); end. |
x = int(input()) a=0; b=0; d = 0 while x>0: if d%2==0: a += x%10 else: b += x%10 x = x//10 d = d+1 print(a, "\n", b)
|
Источник: onlyege