Задание 20. Задачи для самостоятельного решения
20.1 (ege.yandex.ru – 1) Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 5.
Бейсик | Паскаль |
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 кон |
20.2 (ege.yandex.ru – 2) Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 14.
Бейсик | Паскаль |
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 кон |
20.3 (ege.yandex.ru – 3) Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 8.
Бейсик | Паскаль |
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 кон |
20.4 (ege.yandex.ru – 4) Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 8.
Бейсик | Паскаль |
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 кон |
20.5 (ege.yandex.ru – 5) Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Сколько есть таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 10?
Бейсик | Паскаль |
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 кон |
0 Comments
Оставьте коммент первым.