Предмет: Информатика, автор: lexakon09

Даю 100 балов!!!! За забором стояло n ног и k голов, определите сколько куриц и коз стоит за забором. C++ обязательно с for или массивом


olyapanferova: ну во первых тут курицы меньше забора может быть, и головы не будет видно, и вообще мало информации
STGLN: на кой здесь массив или циклы если задача решается в одно арифметическое действие ?)

Ответы

Автор ответа: STGLN
1

Тупое решение через цикл для тех, кто не умеет в арифметику:

#include <iostream>

using namespace std;

bool check(int chickens, int goats, int total){

   return (2 * chickens + 4 * goats == total);

}

int main(){

   int n, k;

   cin >> n >> k;

   for(int i = 0; i <= k; i++){

       if(check(i, k - i, n))

           cout << i << " chickens and " << k - i << " goats";

   }

}

Норм решение для тех, кто умеет в арифметику:

Пусть i - кол-во коз, тогда k - i - кол-во куриц

Так как всего n ног, то 4 * i + 2 * (k - i) = n. Упрощаем:

4i + 2k - 2i = n

2i + 2k = n

i + k = n/2

i = n/2 - k

Значит коз будет n/2 - k, а куриц k - (n/2 - k) = 2k - n/2

Запишем это на языке С++:

#include <iostream>

using namespace std;

int main(){

   int n, k;

   cin >> n >> k;

   cout << 2 * k - n / 2 << " chickens and " << n / 2 - k << " goats";

}


lexakon09: мне просто по заданию с циклом нужно)
Похожие вопросы
Предмет: Русский язык, автор: Аноним