Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для Revolyram
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 2

Олимпиадная задача про конфеты

19.11.2015, 20:50. Показов 2954. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У Пети Костылькова день рождения и он принес конфеты, чтобы угостить одноклассников и, конечно же, свою любимую учительницу Снежану Денисовну. Чтобы сделать праздник более увлекательным, Снежана Денисовна предложила пронумеровать конфеты целыми числами между a и b (включая и сами эти числа) так, что каждому числу соответствовала ровно одна конфета.

Кроме того, она поведала детям, что те конфеты, номера которых не делятся на некоторое целое число n, наверняка невкусные, и поэтому их она заберет себе. Вкусные же конфеты, то есть такие, номера которые делятся на n, Снежана Денисовна оставит детям.

Учащиеся с урока математики помнят, что число x называется делящимся на y, если существует хотя бы одно целое число k такое, что x=ky, но не знают соглашаться ли им на предложенный учительницей вариант или нет. Поэтому они просят вас посчитать каких чисел будет больше – делящихся на n или неделящихся.

Внимание: Формат выходных данных после олимпиады был изменен!


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

Единственная строка входного потока содержит три целых числа a, b, n перечисленные через пробел (каждое число не превосходит по модулю 10^18).

Выведите в выходной поток слово "Divisibles”, если между a и b больше чисел делящихся на n, "Indivisibles", если больше неделящихся, или "Equal", если их одинаковое количество, а также через пробел количество конфет, которые Снежана Денисовна оставит детям.

Пример входного файла (input.txt):1 4 2
Пример выходного файла (output.txt):Equal 2

!!!!!!!
нет прав на метки))
ошибка 27
превышение времени



Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var a,b,l,k,x,n:int64; 
begin 
k:=0;
n:=0;
read(a,b,l); 
 
if (a<=b)and(l<>0) then begin
for x:=a to b do
if x mod l=0 then k:=k+1 else n:=n+1;
if k>n then write('Divisibles',' ',trunc(k)) else begin
if k<n then write('Indivisibles',' ',trunc(k)) else write('Equal',' ',trunc(k));end;end;
 
if (a>=b)and(l<>0) then begin
for x:=b to a do
if x mod l=0 then k:=k+1 else n:=n+1;
if k>n then write('Divisibles',' ',trunc(k)) else begin
if k<n then write('Indivisibles',' ',k) else write('Equal',' ',k);end;end;
 
if (a<=b)and(l=0) then begin
for x:=a to b do
if x=0 then k:=k+1 else n:=n+1;
if k>n then write('Divisibles',' ',k) else begin
if k<n then write('Indivisibles',' ',k) else write('Equal',' ',k);end;end;
 
if (a>=b) and (l=0) then begin
for x:=b to a do
if x=0 then k:=k+1 else n:=n+1;
if k>n then write('Divisibles',' ',k) else begin
if k<n then write('Indivisibles',' ',k) else write('Equal',' ',k);end;end;end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2015, 20:50
Ответы с готовыми решениями:

Олимпиадная задача
На вход в файле INPUT.TXT подаётся две строчки: N - количество томов(максимум 32) и (от 1 до N)порядок томов книг Нужно найти и вывести...

Олимпиадная задача
Условие: http://i.imm.io/1m1cH.jpeg Примеры вывода: http://i.imm.io/1m1cL.png 2 часа писал программу.. она даже работала! Но загрузив...

Выборы. Олимпиадная задача
На выборах в Государственную думу в избирательные бюллетени внесено N партий. Электронный сканер для считывания информации с бюллетеней...

4
129 / 17 / 7
Регистрация: 02.11.2015
Сообщений: 52
19.11.2015, 22:00
Цитата Сообщение от Revolyram Посмотреть сообщение
ошибка 27
превышение времени
Конечно, если брать цикл от a до b (а они порядка 1018), то программа не уложится в ограничение по времени, будь он даже не 1 секунда, а 100 лет.
1
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
20.11.2015, 16:18
Так на вскидочку, без оптимизации:
Pascal
1
2
3
4
5
6
7
8
var
a,b,n,t:int64;
begin
readln(a,b,n);
t:=b div n-a div n;
if t>(b-a-t+1)then write('bolshe ') else if t<(b-a-t+1) then write('menshe ') else write('ravno ');
writeln(t);
end.
2
 Аватар для Revolyram
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 2
20.11.2015, 19:30  [ТС]
Не проходит
Только один тест прошло
Ну всё равно спасибо !

Добавлено через 38 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var a,b,l,k,x,n:int64; 
begin 
k:=0;
n:=0;
read(a,b,l); 
begin
if l=1 then write('Divisibles',' '); 
 
if l mod 2 = 0 then begin
if (a mod 2 = 0)and(b mod 2 = 0) then write('Divisibles',' ') else
if (a mod 2 <> 0)and(b mod 2 <> 0) then write('Indivisibles',' ') else 
if ((a mod 2 = 0)and(b mod 2 <> 0))or((a mod 2 <> 0)and(b mod 2 = 0))then write('Equal',' ');end;
 
if l mod 3 = 0 then begin write('Indivisibles',' ');
if (abs(a-b)=1)or(abs(a-b)=3) then write('Equal',' ');  
if a=b then write('Divisibles',' ')else write('Indivisibles',' ');end;
 
if (l>3)or(l=0) then begin
if l mod 3 = 0 then begin 
if (abs(a-b)=1)or(abs(a-b)=3) then write('Equal',' ');
if a=b then write('Divisibles',' ')else write('Indivisibles',' ');end;end;
 
end;
for x:=a to b do
if x mod l=0 then k:=k+1;
write(k);
end.
и так тоже не проходит
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
21.11.2015, 12:57
Цитата Сообщение от Revolyram Посмотреть сообщение
Только один тест прошло
Да, есть неточности, ну, делал навскидку. Сейчас подправим

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
a,b,n,kol:int64;
rez:string;
begin
readln(a,b,n);
if (n=2) and (a mod 2=0) and (b mod 2=0) then 
begin
rez:='Divisibles';
kol:=(b-a)div 2+1;
end
else
if (n=2)and((b-a)mod 2=1) or (b-a=1)and((a mod n=0)or(b mod n=0))or(n=3)and(a mod 3=0)and(b=a+3)then 
begin
rez:='Equal';
kol:=(b-a)div 2+1;
end
else
begin
rez:='Indivisibles';
kol:=b div n-(a-1) div n;
end;
writeln(rez,' ',kol);
end.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2015, 12:57
Помогаю со студенческими работами здесь

Олимпиадная задача Pascal
Пришел недавно с олимпиады . Все решил , последняя задача никак не дается . Кто нибудь может знает как решит ? Сегодня Али в местном...

Олимпиадная задача с кубиками
Не могли бы вы мне помочь? Юный математике Матвей интересуется теорией вероятностей, и по этой причине у него всегда есть с собой...

задача на двумерные массивы (олимпиадная)
«Умножение методом решетки». В IX веке нашей эры арабский математик Мухаммед ибн Мусса ал-Хорезми придумал способ умножения натуральных...

Олимпиадная задача. Лестница из кубиков.
1) Мальчик Петя строит из кубиков лестницу. Лестница представляет собой несколько стоящихся рядом башенок из кубиков, каждая из которых...

Олимпиадная задача, бред, но красиво
Кролик открыл в лесу кафе, в котором Сова выпекает пирожные. Осел решил угостить друзей и заказал множество пирожных разных видов в разных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru