Giáo trình ngôn ngữ C



tải về 2.34 Mb.
Chế độ xem pdf
trang42/62
Chuyển đổi dữ liệu16.03.2023
Kích2.34 Mb.
#54376
1   ...   38   39   40   41   42   43   44   45   ...   62
C ĐHQGHN

Ví dụ 6.3 : Viết chương trình giải bài toán sau: 
“Trăm trâu trăm cỏ 
Trâu đứng ăn năm 
Trâm nằm ăn ba 
Lụ khụ trâu già, ba con một cỏ
 hỏi mỗi loại có mấy con “ 
Giải: 
Rõ ràng là có ba loại trâu (phương trình ba ẩn) nhưng chỉ có hai phương trình đó là tổng 
số số trâu là 100 và tổng số cỏ cũng là 100. Chúng ta có
d + n + g =100 (tổng số trâu) 
5*d + 3 * n + g/3 =100 (tổng số cỏ) 
(d: số trâu đứng, n : số trâu nằm, g : số trâu già) 
Như vậy bài toán này không có nghiệm duy nhất, và nếu có thì chỉ lấy nghiệm là các số 
nguyên mà thôi.


Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
 C
62
Ở đây chúng ta sử dụng cách kiểm tra các bộ số gồm 3 số nguyên dương (d,n,g) tương 
ứng với số trâu của từng loại với d,n,g 
∈ [1,..100], nếu thoả mãn hai phương trình trên thì 
đó là một nghiệm. Vậy ta thực hiện như sau: 
Với d = 1 tới 
20 
// tối đa chỉ có 20 trâu đứng 
thì thực hiện 
Với n = 1 tới 33
// tối đa chỉ có 23 trâu nằm 

thực hiện 


100 
– 

– 


//
 số trâu già 
nếu  (g%3==0) và (
5*d + 3 * n + g/3 ==100) 
thì in (d,n,g) là một nghiệm 
 
#include  
#include  
void main(){ 
int d,n,g; 
clrscr(); 
printf("\nCac nghiem la\n"); 
printf("\ntrau_dung trau_nam trau_gia\n");
for(d=1; d<=20;d++) 
for(n=1; n<=33; n++) 

g=100-d-n; 
if((g%3==0)&&(5*d+3*n+g/3==100)) 
printf("%d \t %d \t %d\n",d,n,g); 


• 
Chú ý : 
Ngoài các cấu trúc điều khiển chúng ta vừa nêu trên, trong ngôn ngữ C còn 
một cấu trúc điều khiển khác nữa là goto. Đây là lệnh nhảy không điều kiện tới một 
vị trí nào đó trong chương trình, vị trí đó được xác định bằng một nhãn (label).

tải về 2.34 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   38   39   40   41   42   43   44   45   ...   62




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương