Seid-ZadeNadezhda1769
?>

Сумма чисел 141(8) и 100111(2) равна

Информатика

Ответы

Daletskaya Sergei1121

Есть вопросы по решению?


Сумма чисел 141(8) и 100111(2) равна
Сумарокова

Храним в памяти 3 последних считанных числа. Для каждой такой тройки проверяем, верно ли, что a[i] - a[i - 1] = a[i - 1] - a[i - 2] > 0. Если это так, выводим тройку, устанавливаем флажок found и выходим из цикла. Если после завершения работы цикла found = false, то тройка не найдена, нужно вывести -1.

В PascalABC.NET тип integer хранит числа до 2 с лишним миллиардов, все числа и разность чисел должны в нем поместиться.

Код (PascalABC.NET 3.4.2.1837):

begin

 var values := new integer[3];

 var n := readinteger;

 (values[1], values[2]) := readinteger2;

 var prev_diff := values[1] - values[0];

 var found := false;

 for var i := 3 to n do begin

   values[i mod 3] := readinteger;

   var diff := values[i mod 3] - values[(i - 1) mod 3];

   if (diff = prev_diff) and (diff > 0) then begin

     print(values[(i - 2) mod 3], values[(i - 1) mod 3], values[i mod 3]);

     found := true;

     break;

   end;

   prev_diff := diff;

 end;

 if not found then print(-1);

end.

Вайнер

#include <iostream>

using namespace std;

int main()

{

int a[12] = {}, b = 100;

for(int i = 0; i < 12; i++) {

 cout << "Input a[" << i << "]: ";

 cin >> a[i];

 if ((a[i] % 2 == 1) && (a[i] > 0) && (9 < a[i]) && (a[i] < 100) && (a[i] < b))

  b = a[i];

}

if (b == 100) {

 cout << "Numbers do not satisfy the condition";

 return 1;

}

else cout << "The given number is " << b;

return 0;

}

//Так как Tab'ы временно не сохраняются в редакторе, прилагаю .cpp файл. Язык С++

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

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

Сумма чисел 141(8) и 100111(2) равна
Ваше имя (никнейм)*
Email*
Комментарий*