В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
dendeniska228
dendeniska228
19.01.2020 17:54 •  Информатика

Подготовить таблицу, с которой после ввода последних показаний счетчика можно было рассчитать расход электроэнергии и сумму оплаты.


Подготовить таблицу, с которой после ввода последних показаний счетчика можно было рассчита

Показать ответ
Ответ:
shvffvvfff
shvffvvfff
26.02.2021 21:14

В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.

Код процедуры:

procedure print_fib(n: integer);

var a, b, t: integer;

begin

   a := 0;

   b := 1;

   while n > 0 do

   begin

       write(b, ' ');

       b := a + b;

       a := b - a;

       n := n - 1;

   end;

end;

Пример основной программы:

begin

   print_fib(10)

end.

Вывод:

1 1 2 3 5 8 13 21 34 55

0,0(0 оценок)
Ответ:
Denze111
Denze111
17.09.2022 10:36

#include <iostream>

#include <vector>

using namespace std;

int pos_sum(vector<int> &v){

   int res = 0;

   for(auto &i : v)

       res += i * (i > 0);

   return res;

}

int min_max_mult(vector<int> &v){

   int res = 1;

   pair<int,int> mn,mx;

   mn = {v[0],0};

   mx = mn;

   for(int i = 1; i < v.size(); i++){

       if(v[i] > mx.first){

           mx.first = v[i];

           mx.second = i;

       }

       if(v[i] < mn.first){

           mn.first = v[i];

           mn.second = i;

       }

   }

   int st = min(mn.second, mx.second), fn = max(mn.second,mx.second);

   for(int i = st + 1; i < fn; i++)

       res *= v[i];

   return res;

}

int main(){

   int n;

   cin >> n;

   vector<int> a(n);

   for(auto &i : a) cin >> i;

   cout << pos_sum(a) << " " << min_max_mult(a);

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота