VIẾT CHƯƠNG TRÌNH C số 2: TÌM ƯỚC CHUNG LỚN NHẤT CỦA 2 SỐ A,B(A,B>0)


Trước khi làm bài này, chúng ta cần tìm hiểu ước chung lớn nhất(UCLN) là gì? Giả sử ta có 2 số a, b. a chia hết cho c(1),c(2),..,c(n). b chia hết cho c(1),c(2),...,c(n), với c(1),c(2),..,c(n) là những số cùng được cả a,b chia hết cho. Vậy trong tất cả những số mà cả a,b cùng chia hết cho, số nào lớn nhất thì số đó là UCLN của a và b.
Đây là đoạn code bài giải:
#include<conio.h>
#include<stdio.h>
int ucln(int a,int b);
void main()
{
clrscr();
int a,b,kq;
printf("Nhap so nguyen a,b: ");
scanf("%d %d",&a,&b);
kq=ucln(a,b);
printf("UCLN cua 2 so la: %d",kq);
getch();
}
int ucln(int a,int b)
{
while(a!=b)
if(a>b)
a=a-b;
else
b=b-a;
return a;
}
Trọng tâm của bài này nằm ở hàm ucln(a,b) mà ta xây dựng để giải quyết vấn đề. Trong hàm này có sử dụng 1 số thủ thuật toán học, ở đây mình chỉ hướng dẫn chạy tay trên giấy để các bạn nắm được cách chương trình hoạt động cho dễ làm bài:
Chạy thử trên giấy, nhập vào 2 số 12 và 18. Hàm ucln(a,b) sẽ xử lý như sau:
Lần lặp 1: 12 khác 18
12<18--> b = 18-12 = 6
Lần lặp 2:  12 khác  6
12>6 --->a  = 12-6  = 6
Lần lặp 3: 6  = 6 --> chương trình dừng vòng lặp và trả về giá trị a  = 6
Kết quả đến đây ta đã tìm được UCLN cần tìm là 6.
Chúc các bạn thành công!





Share this article :

+ nhận xét + 4 nhận xét

lúc 02:27 7 tháng 3, 2016

rất hay ở phần chú thích , cảm ơn !

lúc 12:02 28 tháng 4, 2016

@Phạm Quyết Thắng, cảm ơn phản hồi từ bạn

lúc 20:58 19 tháng 11, 2017

Sử dụng đệ qui để viết hàm tìm ước số chung lớn nhất của 2 số

lúc 20:59 19 tháng 11, 2017

giúp mjk với mấy ae

Đăng nhận xét

 
Support : Copyright © 2011. ITSHARE365 - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger