ПодлеснаяМакарова1883
?>

Определить значение переменной s после выполнения следующего фрагмента алгоритма, представленного в виде блок-схемы, если а=692. начало: 1) ввод а, 2) s: =0 3) s: =s+a mod 10 4) a: =a div 10 5) a=0, если нет, то вернуться к 3 действию если да то вывод s 6) конец

Информатика

Ответы

Лусине_Ильенков134
Сначала 2 потом 11 потом 17 собственно выводится последнее
teya07

обозначим уменьшаемое как abc. тогда нужное нам число - это cba, где c, a, b = {0,1,2,3,4,5,6,7,8,9}

 

по условию, abc - cba = xyz (*), где x, y, z = {a,b,c}. заметим, что abc - cba > 0, и, следовательно, a > c, т.е. c < 9 (**)

 

из (*) получим уравнения для вычитаний из младшего, среднего и старшего разрядов соответственно (a):

 

10 + c - a = z (заняли "1" из среднего разряда) (a.1)

10 + (b - 1) - b = 9 при любом b (заняли "1" из старшего разряда)

a - 1 - c = x (a.2)

 

уравнение (*) приобретает вид:

 

abc - cba = x9z (***)

 

но y = 9 не может быть цифрой c, поскольку c < 9 согласно (**). следовательно, возможными комбинациями x,z будут: (x,z) = {(a,,,,b)}.

 

рассмотрим систему уравнений (a) для всех возможных случаев:

 

1: x = a или b, z = c.

 

(a.1): 10 + c - a = c => a = 10 - противоречие (должно быть a < 10).

 

2: x = c, z = a.

 

(a.1), (a.2): 10 + c - a = a, a - 1 - c = c => 10 + c = 2*(2c + 1), a = 2c + 1 => 8 = 3c, a = 2c + 1 => c = 8/3 - противоречие (c должно быть целым числом).

 

3: x = c, z = b.

 

(a.1), (a.2): 10 + c - a = b, a - 1 - c = c => 10 + c - (2c + 1) = b, a = 2c + 1 => 9 - c = b, a = 2c + 1 => для всех возможных c: c = {0,1,2,3,4} получим соответствующие им значения a и b. (a,b,c) = {(1,9,,8,,7,,6,,5,4)}. подстановкой в (***) получим единственно возможное решение: (a,b,c) = (9,5,4), т.е a = 9, b = 5, c = 4.

 

итак, нужное нам число это cba = 459, другие два - 954 и 495 соответственно.

 

проверка: 954 - 459 = 495.

Манько_Панферов

программу написала в паскале, надеюсь подходит))

program 1; var a: array[1..10] of integer; i,q,max,min,l,k: integer; begin randomize; for i: =1 to 10 do begin a[i]: =random(100); write(a[i]: 3); end; writeln; for i: =1 to 10 do if (a[i]> q) and (a[i]< l) then inc(k); writeln('k=',k); end.

2. 

program 2; var a: array[1..10] of integer; i,max,min,k,l: integer; begin  randomize; for i: =1 to 10 do begin a[i]: =random(100); write(a[i]: 3); end; writeln; max: =a[1]; min: =a[1]; for i: =2 to 10 do begin if a[i]> max then begin  max: =a[i];   k: =i;   end; if a[i]< min then begin  min: =a[i];   l: =i;   end; end; writeln('max=',max,', его индекс=',k,', min=',min,', его индекс=',l); end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Определить значение переменной s после выполнения следующего фрагмента алгоритма, представленного в виде блок-схемы, если а=692. начало: 1) ввод а, 2) s: =0 3) s: =s+a mod 10 4) a: =a div 10 5) a=0, если нет, то вернуться к 3 действию если да то вывод s 6) конец
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

смирнов1127
соловьев_Куркина
vikka30
nsn-2012
marinazubcko16729
Gesper63
Semenova1719
charlie79
denspiel
toniv
asnika1989
sergeyshuvalov
Юрьевич293
ksen1280
ldstroy