понеділок, 16 лютого 2015 р.

Leopold

(Джерело: http://www.olymp.vinnica.ua/index_ua.php?lng=ua&cid=98)

Задача. Кіт Леопольд пішов на рибалку та наловив риби. Кожну рибу він старанно зважив. Перша риба (найменша), яку він зважував важила рівно L грам. Кожна наступна рибина була на К грамів важча за попередню. Скільки заважила вся риба, яку наловив Леопольд, якщо відомо, що спіймав він N (N>0) риб?

Технічні умови. Програма зчитує з клавіатури ціле число N - кількість рибин, потім, через пропуск, L - маса першої риби в грамах та, через пропуск - К - на скільки кожна наступна рибина важча від попередньої. Програма виводить на екран одне ціле число - масу всієї упійманої риби в грамах.

Приклади.

Введення> 10 250 100
Виведення> 7000

Введення> 12 100 150
Виведення> 11100
Розв'язування.
Задача зводиться до знаходження суми n перших членів арифметичної прогресії за формулою: Sn = (2*a1+(n-1)*d)*n/2. Де: a1 = L, n = N, d = K.
Запишемо алгоритми мовами програмування.

Free Pascal:
Var N, L, K : Integer;
Begin
 Read(N, L, K);
 Write ((2*L + K*(N-1))*N div 2);
End.

C++:
#include <iostream>
using namespace std;
int main()
{
  int n, l, k;
  cin >> n >> l >> k;
  cout << (2*l + k*(n-1))*n / 2;
}

1 коментар: