вівторок, 17 лютого 2015 р.

Сircle

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

Задача: Василько взяв великого циркуля та зайшов до кімнати, підлога якої являє собою квадрат зі стороною рівною M (M>1м). Поставивши циркуль на перетині діагоналей цього квадрата він почав будувати кола. Перше коло мало діаметр 10 см., друге – 30, трете – 40, четверте – 60, п’яте – 70, шосте – 90 см. і т.д. Скільки повних кіл може побудувати в цій кімнаті Василько?

Технічні умови. Програма зчитує з клавіатури ціле число M – довжину стіни кімнати в сантиметрах. Програма виводить на екран одне ціле число – кількість повних кіл, які можна тут побудувати.

Приклади:

Введення> 240
Виведення> 16

Введення> 380
Виведення> 25
Розв'язання
Переведемо послідовність радіусів в дециметри і запишемо викресливши зайві числа: 1, 2, 3, 4, 5, 6, 7, 8, 9, ... .
Бачимо, що послідовність утворена з ряду натуральних чисел виключенням чисел, які передують числам кратним 3.
Потрібно підрахувати кількість її членів. Рахуємо:
З викресленими від 1 до M їх буде M.
Викреслених від 1 до M - (M+1)\3, де \ - ціла частина.
(1+1)\3 - 0, (2+1)\3 - 1, (3+1)\3 - 1,  (4+1)\3 - 1, (5+1)\3 - 2, ... .
Без викреслених: M - (M+1)\3.
Запишемо алгоритми мовами програмування.

Free Pascal:
Var M : Integer;
Begin
 Read(M);
 M := M div 10;
 Write(M - (M+1) div 3);
End.

C++:
#include <iostream>
using namespace std;
int main()
{
  int m;
  cin >> m;
  m = m/10;
  cout << m - (m+1)/3;
}

Немає коментарів:

Дописати коментар