bài này áp công thức vô là ra mà đâu cần tìm gì đâu?
2x+4y = T
x+y = N
=>
x = (4*N -T)/2
y=N-x
Bài toán chó gà
e hoàn toàn nghiêm túc,thử chạy nó chỉ chạy từ 65
int main()
{
for(int b=0;b<=360;b++)
{
cout<<b<<" "<<endl;}
}
Redirect nó ra file xem.
Bạn chạy trên cmd à? Nếu đúng là như vậy thì nó chỉ hiện ra vài dòng gần nhất thôi.
Nói luôn, bạn biết hệ giải phương trình bậc 2 không? Bài này chỉ là giải hệ phương trình thôi.
ko,m chạy trên codeblock
22 gà + 14 chó easy
Em mới code thử, mọi người xem sao
#include <iostream>
using namespace std;
int main() {
int dog, chicken;
int sum, sumFeet;
cout << "Please input the number of dog and chicken" << endl;
cin >> sum;
cout << "\nPlease input the sum of feet" << endl;
cin >> sumFeet;
dog = (sumFeet-2*sum)/2;
chicken = sum-dog;
if (dog > 0 && chicken > 0) {
cout << "The number of dog is " << dog << endl;
cout << "The number of chicken is " << chicken << endl;
}
else {
cout << "invalid" << endl;
}
}
Cẩn thận trường hợp số chân là lẻ.
coi trên kia kìa
ngồi rảnh rang không biết code gì mới hợp trình, thấy nên bỏ tí thời gian làm thử, vui quá, ít nhất còn thấy được mình còn có khả năng làm một tí
PS: áp dụng cho chó và gà thôi mà, còn nếu là con khác thì phải thêm biến là số chân nữa :))
Ý anh nói là cái sumFeet kia kìa, thằng nào nghịch ngu nhập số lẻ vào thì sao
thì chắc được nửa con cái đó ghi thêm một cái if-else, nếu %2=1 thì break là xong :)) mà thôi, làm biếng, để anh thớt tự tùy chỉnh :V
hix,nếu dùng for thì như nào thế bạn???
Việc chặn khoảng 2 nghiệm rồi dùng vòng for x, y (2 nghiệm) trong 2 khoảng đó để mò được nghiệm rất dễ làm, đúng không?
e làm dc rồi bác nhưng thắc mắc là in ra cái invailid như thến nào hix
code em
{
int socon,sochan;
cin>>socon>>sochan;
for(int ga=1; ga<socon&&2ga<sochan; ga++)
{
for(int cho=1; cho<socon&4cho<sochan; cho++)
{
if(2ga+cho4==sochan&&ga+cho==socon)
{
cout<<"chicken ="<<ga<<" "<<"dog ="<<cho;
}
}
}
}
Một cách giải thường quy cho bài toán này: Thuật toán vét cạn
Xem lại chỗ này.
Nếu có kết quả thì bạn thêm return 0
ngay sau dòng cout. Cuối chương trình thêm cout << "Invalid"
.
c# nhưng em nghĩ thế này chạy hơi chậm các bác nhỉ
class Program
{
static void Main(string[] args)
{
int i = 1;// so con ga
int j = 0;// so con cho
for(i=1;i<36;i++)
{
j = 36 - i;
int k = 2 * i + 4 * j;
if (k == 100)
break;
}
Console.WriteLine("so con ga la :"+i);
Console.WriteLine("so con cho la:"+j);
Console.ReadKey();
}
}
#include <iostream>
using namespace std;
bool checkvalid(int sum, int footsum);
int main()
{
int sum = 0;
int footsum = 0;
cout << "Enter sum: " << '\n';
cin>>sum;
cout<< "Enter footsum: " << '\n';
cin>>footsum;
checkvalid(sum,footsum);
return (0);
}
bool checkvalid(int sum, int footsum)
{
int g = 0;
int c = 0;
int temp = (4 * sum - footsum);
if (temp < 0 || temp % 2 != 0)
{
cout << "Invalid";
return 0;
}
g = temp / 2;
cout << "Dog: " << sum - g << '\n';
cout << "Chicken: " << g << '\n';
return 1;
}
Càch mà newb hay làm thì đúng hơn.