Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2014, 08:22   #1
vadimmmm
Пользователь
 
Регистрация: 03.03.2014
Сообщений: 15
Восклицание Задача из e-olimp №2391

Стоимость разговора
Найти стоимость в копейках телефонного звонка продолжительностью N секунд, если стоимость подключения A коп., тарификация поминутная, т.е. на первой секунде каждой минуты начисляется к оплате B коп.


Технические условия
Входные данные

Три целых неотрицательных числа A, B и N (0 ≤ A, B ≤ 99, 0 ≤ N ≤ 86400).

Выходные данные

Ответ на задачу.
vadimmmm вне форума Ответить с цитированием
Старый 15.03.2014, 08:52   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Автор, ты идиот.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 15.03.2014, 10:56   #3
vadimmmm
Пользователь
 
Регистрация: 03.03.2014
Сообщений: 15
По умолчанию

Скажи алгоритм, программу я сам реализую
vadimmmm вне форума Ответить с цитированием
Старый 15.03.2014, 11:50   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

su = N mod 60
если N div 60 != 0 su++
su *= B
su += A
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 21.11.2017, 15:07   #5
kim-im
Пользователь
 
Регистрация: 07.11.2017
Сообщений: 42
По умолчанию

Может кому-то и пригодится:
Код:
var k,a,b,n,i:longint;
 begin
  read(a,b,n);
 if n=0 then write (0) else
  begin
   if n mod 60=0 then n:=n div 60 else n:=(n div 60)+1;
     k:=a;
   for i:=1 to n do
    begin
     k:=k+b;
    end; 
   write (k);
 end;
end.
kim-im вне форума Ответить с цитированием
Старый 21.11.2017, 15:53   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от kim-im Посмотреть сообщение
Код:
for i:=1 to n do
    begin
     k:=k+b;
    end;
вот это прямо порадовало! Умножение ещё не учили или оно запрещено?..
вместо этого достаточно k:=k +n*b
а вместе:
Код:
var k,a,b,n:longint;
 begin
  read(a,b,n);
  if n=0 then write (0) else
  begin
    k:=n div 60;
    if  n mod 60<>0 then Inc(k);
    Write(k*b+a)
 end;
end.

Последний раз редактировалось Serge_Bliznykov; 21.11.2017 в 15:57.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2017, 21:32   #7
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Код:
k:=(n - 1) div 60 + 1;
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача из e-olimp №915 vadimmmm Паскаль, Turbo Pascal, PascalABC.NET 6 16.03.2014 21:18
Задача из e-olimp №1623 vadimmmm Паскаль, Turbo Pascal, PascalABC.NET 3 15.03.2014 21:42
Задача из e-olimp №76 vadimmmm Паскаль, Turbo Pascal, PascalABC.NET 4 15.03.2014 21:00
Задача из e-olimp №1949 vadimmmm Паскаль, Turbo Pascal, PascalABC.NET 3 15.03.2014 17:51
Задача из e-olimp №8 vadimmmm Паскаль, Turbo Pascal, PascalABC.NET 3 15.03.2014 17:37