

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
//Bạn lớp 11 nên mình code C++ nhé.
#include <iostream>
using namespace std;
int main()
{
for (int trau_dung = 0; trau_dung <=100; ++trau_dung) //Thử tất cả các giá trị trâu đứng.
for (int trau_nam = 0; trau_nam <= 100 - trau_dung; ++trau_nam) //Thử tất cả các giá trị trâu nằm.
{
int trau_gia = 100 - trau_dung - trau_nam; //Tính số trâu già.
if ((trau_dung * 5 + trau_nam * 3 + trau_gia * (1/3.0)) == 100) //Tính số bó cỏ.
cout << trau_dung << " " << trau_nam << " " << trau_gia << endl; //Nếu thỏa mãn thì in ra màn hình.
}
return 0; //Kết thúc.
}
//Bạn tham khảo chương trình trên nhé.
Hãy giúp mọi người biết câu trả lời này thế nào?
Program BTT;
Uses Crt;
Var i,j,k:byte;
Begin
Clrscr;
For i:=1 to 20 do
For j:=1 to 33 do
Begin
k:=100-i-j;
If 5*i+3*j+k/3 = 100 then
Writeln('Trau dung ',i,' trau nam ',j,' trau gia ',k);
End;
End.
Hãy giúp mọi người biết câu trả lời này thế nào?
#include<bits/stdc++.h> #define ll long long #define el "\n" using namespace std; ll n,m; ll a,b,c; int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); freopen("TIMTRAU.inp","r",stdin); freopen("TIMTRAU.out","w",stdout); cin>>m>>n; ll p = 0; // sử dụng toán học để làm bài này // gọi x là số trâu đứng, y là số trâu nằm // và z là số trâu già // khi đó ta có hpt như sau:x+y+z = m (m là tổng số trâu) // 5x+3y+z/3 = n (n là tổng bó cỏ // biến đổi công thức để đưa về 1 phương trình: // 15x + 9y + z = 3n và x + y + z = m // khi này ta trừ hai phương trình với nhau để triệt tiêu z // 14x + 8y = 3n - m // ta chạy for từ 1 (tới 3n-m)/14 để tìm x // 14x - (3n - m) = -8y // gọi biến temp là kết quả của 14x - (3n - m) // với mỗi temp kiểm tra có temp nào thỏa điều kiện temp/-8>0 (tìm y) // và thỏa mãn y là số nguyên dương temp % 8 == 0 // nếu thỏa mãn thì ta tìm được x và y // dễ dàng tìm được z qua công thức x + y + z = m // <=> z = m - x - y; // thuật toán được triển khai ở dưới với độ phức tạp O(n) ll temp = 3*n-m; for(ll i=1;i<=temp/14;++i){ a = 14*i; b = -(14*i-(temp)); if(1.0*b/8>=0&&b%8==0){ // p là biến cầm cờ - trường hợp không có kết quả in ra -1 p = 1; c = m-a/14-b/8; cout<<a/14<<' '<<b/8<<' '<<c<<el; } } if(!p) cout<<-1; } Bài này độ phức tạp O(n) nhé Rút gọn#include<bits/stdc++.h> #define ll long long #define el "\n" using namespace std; ll n,m; ll a,b,c; int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); freopen("TIMTRAU.inp","r",stdin); freopen("TIMTRAU.out","w",stdout); cin>>m... xem thêm
Bảng tin