Даю 100 балов!!!! За забором стояло n ног и k голов, определите сколько куриц и коз стоит за забором. C++ обязательно с for или массивом
Ответы
Тупое решение через цикл для тех, кто не умеет в арифметику:
#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";
}