М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
fairytailguil
fairytailguil
03.08.2021 04:25 •  Информатика

,сделать программу на языке Паскаль

👇
Открыть все ответы
Ответ:
Liana250202
Liana250202
03.08.2021

#include <iostream>

using namespace std;

unsigned DigitSum( unsigned x ) {

   unsigned sum = 0;

   while ( x != 0 ) {

       sum += x % 10;

       x /= 10;

   }

   return sum;

}

bool Comparison( const unsigned a, const unsigned b ) {

   return DigitSum( a ) < DigitSum( b );

}

// третий параметр указатель на функцию сравнения для сортировки

void InsertionSort( unsigned long *arr, size_t size, bool (*compareFunc)( const unsigned, const unsigned ) ) {

   for ( size_t i = 1; i < size; ++i )

       for ( size_t j = i; j > 0 && Comparison( arr[ j - 1 ], arr[ j ] ); --j )

           swap( arr[ j - 1 ], arr[ j ] );

}

int main() {

   const size_t maxCount = 10000;

   unsigned long* arr = new unsigned long[ maxCount ];

   size_t count = 0;

   cin >> count;

   for ( size_t i = 0; i < count; ++i ) {

       cin >> arr[ i ];

   }

   // сортируем массив, указывая какая функция для сравнения элементов используется

   InsertionSort( arr, count, Comparison );

   for ( size_t i = 0; i < count; ++i )

       cout << arr[ i ] << " ";

   delete[] arr;

   return 0;

}

дайте 5 звёзд позязя

4,7(13 оценок)
Ответ:
Noksiwin
Noksiwin
03.08.2021

prev, curr, s = 0, 0, 0

n = int(input())

prev = int(input())

for i in range(1, n):

   curr = int(input())

   s += prev * curr

   prev = curr

print(s)

Объяснение:

На каждом шаге будем вычислять значение нужного произведения и прибавлять его к сумме. Так как второй элемент на i-ом шаге является первым элементом на i+1-ом шаге, заведём две переменные — предыдущий и текущий элемент — и после вычисления произведения перемещаем текущий элемент в предыдущий. Тогда каждый раз будет вычисляться верное произведение и все данные будут прочитаны один раз.

4,4(68 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ