Recommended Posts

1. Ниже записана программа, которая получив на вход x, печатает два числа L и M. Укажите наибольшее из таких чисел x, при вводе которых программа печатает сначала 3, а затем 10.

DIM x, L, M as INTEGER

INPUT x

L=0

M=0

WHILE x>0

L=L+1

IF (M<x) AND (x MOD 2 =1) THEN

M = (x MOD 10) *2

END IF

x=x10

LOOP

PRINT L, M

959

Share this post


Link to post
Share on other sites
Guest aklag   
Guest aklag

различие в решениях из-за понимания IF.

в бейсике end if означает, что х уменьшается в 10 раз если только заходим на IF.

а вот если перенести end if не после x=x10 а сразу после M = (x MOD 10) *2 то

верный ответ 985

Share this post


Link to post
Share on other sites
Guest aklag   
Guest aklag

ivany4, решение верное для Паскаля. На бейсике запись программы все же другая.

и тогда задача получается другая. см. мой пост выше

Share this post


Link to post
Share on other sites
Guest aklag   
Guest aklag

Да, пожалуй, здесь изначально неверно записана задача.

Видимо, из Паскаля переписано на бейсик, и допущена ошибка.

Share this post


Link to post
Share on other sites
Guest ivany4   
Guest ivany4

Паскаль :

var x, L, M, i: integer;

begin

for i:=100 to 999 do

begin

// readln(x);

x:=i;

L:=0; M:=0;

while x > 0 do

begin

L:=L+1;

if (M<x)and(x mod 2=1) then M:=(x mod 10)*2;

x:= x div 10;

end;

if (L=3)and(M=10) then writeln('i=',i,' ',L,' ',M);

end;

end.

Share this post


Link to post
Share on other sites
Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, .
Ответить в теме...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Загрузка...

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу