Ваш браузер устарел. Рекомендуем обновить его до последней версии.

Меню сайта


Счётчик посещений


 

счетчик посещений

 

Мысль дня

Часы

Календарь

Календари на любой год - Календарь.Юрец.Ру

Обратная связь

Поля, помеченные символом *, обязательны для заполнения.

20. Ниже на четырёх языках записан алгоритм. Получив на входе число 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

readin(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 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

 кон

Ответ: 73

Решение:

Переменная a отвечает (накапливается) за количество цифр в десятичной записи числа x, а переменная b равна произведению цифр десятичного числа. Так как a=2, то цифр в числе две. b = 21 значит 3*7 либо 7*3. Итак, нам необходимо найти наибольшее  число, а это 73.

 

НАЗАД