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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2023, 01:32   #1
Faserty
Пользователь
 
Регистрация: 22.09.2023
Сообщений: 25
По умолчанию Задача: Получится или нет? C (задачи на условие)

Ввод содержит три целых числа N,A,B (2<= A < B < N <= 10^9). Где N - количество участников всего. A - минимальное количество участников в группе. B - максимальное количество участников в группе.
Написать программу, которая определит получится распределить участников по группам или нет.
Вывод: YES или NO.
Я пытался ее решить, но у меня не получилось.
Примеры правильных ответов:
Ввод: 11 4 5
Вывод: NO

Ввод: 11 3 4
Вывод: YES

Код:
#include <stdio.h>

int main()
{int a,b,n,s;
    scanf("%d" "%d" "%d", &n,&a,&b);
    if (n<a){
        printf("NO");
    }
    else if (n>b) {
        s = n % (a+b);
        if (s<a){
            if (s==0){
                printf("YES");
            }
            else{
                printf("NO");
            }
        }
        else if (s>b){
             if (s%a==0){
                printf("YES");
            }
            else{
                printf("NO");
            }
        }
        else{
            printf("YES");
        
        }   
    }
    else if (n<b){
        printf("NO");
    }
    
    return 0;
}

Последний раз редактировалось Faserty; 22.09.2023 в 02:28.
Faserty вне форума Ответить с цитированием
Старый 22.09.2023, 02:11   #2
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

что помешало или кто помешал
логику программы выразить
сначала на человеческом языке?

да и результаты испытаний забыли
ведь вводить данные с клавиатуры неуважение пользователей

думаю переменная s всего лишь
деление большего b на меньшее a без остатка
сначала проверив больше ли большее
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 22.09.2023 в 02:46.
сфинкс вне форума Ответить с цитированием
Старый 22.09.2023, 02:30   #3
Faserty
Пользователь
 
Регистрация: 22.09.2023
Сообщений: 25
По умолчанию

сфинкс, b больше, чем a по условию задачи. По поводу результатов испытаний... Спасибо за то, что указали на это. Я исправил.
Faserty вне форума Ответить с цитированием
Старый 22.09.2023, 02:41   #4
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

в задаче про палиндром вы запостили программу не ту

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

может быть цикл деления n на переменную от a до b ?
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 22.09.2023 в 02:48.
сфинкс вне форума Ответить с цитированием
Старый 22.09.2023, 02:51   #5
Faserty
Пользователь
 
Регистрация: 22.09.2023
Сообщений: 25
По умолчанию

сфинкс, спасибо вам большое за то, что указали ошибку в программах. Объясните пожалуйста, какие тогда условия ставить?
Faserty вне форума Ответить с цитированием
Старый 22.09.2023, 02:59   #6
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

моё понимание непонятной задачи успел напечатать выше:

может быть цикл деления n на переменную от a до b ?
допустим данные 18 5 10

программа вычислит: 18 распределяется на группы по 6 и 9
и очевидно у меня на языке высочайшего уровня бэйсик уже вычислено

спрашивают ниже про данные 11 3 4
где человеческая логика подсказывает 11 на группы по 3 или 4 не делится

задача же: "получится распределить участников по группам или нет"
хотя в принципе задача всё понятнее и похожа на задачу 91-й день года
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 22.09.2023 в 03:35.
сфинкс вне форума Ответить с цитированием
Старый 22.09.2023, 03:10   #7
Faserty
Пользователь
 
Регистрация: 22.09.2023
Сообщений: 25
По умолчанию

сфинкс, программа должна определить можно ли распределить участников по группам или нет. в случае с примером, который я указал выше(с положительным ответом), распределение произошло таким образом 3 4 4. Количество человек в группе должно быть не меньше a, но и не больше b. Количество групп не имеет значения.
Вопрос по вашему примеру. Сможет ли программа работать при таких данных 11 3 4?
Faserty вне форума Ответить с цитированием
Старый 22.09.2023, 03:24   #8
Faserty
Пользователь
 
Регистрация: 22.09.2023
Сообщений: 25
По умолчанию

сфинкс, внимательно посмотрите на условие задачи. В группе может быть от а до b участников. И распределение произошло на 3 группы, в двух из которых 4 человека, значит осталось 3. 11-8 = 3. 3 человека спокойно помещаются в третью группу не нарушая условий. Поэтому не понимаю ваших претензий к задаче.
Faserty вне форума Ответить с цитированием
Старый 22.09.2023, 03:31   #9
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

как всегда мои программы очень краткие

Код:
n = 11: a = 4: b = 5 ' grup.bas
If n Mod b >= a Then Print "YES" Else Print "NO"

n = 11: a = 3: b = 4 ' grup.bas
If n Mod b >= a Then Print "YES" Else Print "NO"
Ввод: 11 4 5
Вывод: NO

Ввод: 11 3 4
Вывод: YES

на другие языки все переводим сами
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 22.09.2023, 03:52   #10
Faserty
Пользователь
 
Регистрация: 22.09.2023
Сообщений: 25
По умолчанию

сфинкс, а теперь проверьте свою программу на такие данные: 121 60 80. Вы ошиблись
Faserty вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие задачи во вложении Игорь Обухов Паскаль, Turbo Pascal, PascalABC.NET 7 14.03.2014 16:11
Неясно условие задачи niki123 Общие вопросы C/C++ 5 13.03.2011 20:11
загадочное условие задачи SergeyKo Помощь студентам 3 23.01.2011 16:13
Условие задачи уже выложил... Рустем Помощь студентам 4 16.01.2009 02:03
Непонимаю условие задачи.... Карась Помощь студентам 2 28.11.2007 17:41