Купить быков, коров, телят - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день! Задача состоит в следующем: написать программу, которая выводит на экран всевозможные варианты покупок быков, коров и телят так, что бы было куплено 100 голов на 100 рублей. Считая, что один бык стоит 10 р., корова - 5 р., телёнок - 0,5 р. Вот что у меня получилось:
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int i, j, y, col=0;
    for(i=0; i<11; i++)
        for(j=0; j<21; j++)
            for(y=0; y<201; y++)
                if(i*10+j*5+y*0.5==100 && i+j+y==100)
                {
                    printf("B=");
                    printf("%d\n", i);
                    printf("K=");
                    printf("%d\n", j);
                    printf("T=");
                    printf("%d\n", y);
                    col++;
                }
    printf("Col var: ");
    printf("%d\n", col);
    return 0;
}
Но при таком решении программа выводит только единственный вариант: быков - 1, коров 9, телят 90. Но это не единственный вариант решения. Высылала преподавателю на проверку, вот что он мне ответил: Вариантов очень много, а не один! 10 быков, 0 коров, 0 телят 9 быков, 1 корова, 10 телят 9 быков, 2 коровы, 0 телят 9 быков, 0 коров, 20 телят и т.д. Вы правильно используете тройной цикл, только нужно правильно менять переменные i, j, y , а if() совсем не нужен. Сколько не пыталась, вывести несколько вариантов не получается. Как можно исправить программу, помогите, пожалуйста!

Решение задачи: «Купить быков, коров, телят»

textual
Листинг программы
if (fabs(i*10+j*5+y*0.5 - 100) < 0.005 && i+j+y==100)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы