Chào mừng bạn đến với Selfomy Hỏi Đáp, hãy Hỏi bài tập hoặc Tham gia ngay
0 phiếu
1.4k lượt xem
trong Tin học lớp 8 bởi longvu999 Thần đồng (994 điểm)
Viết CT tìm ƯCLN (Uớc chung lớn nhất) GCD bằng Pascal

2 Trả lời

0 phiếu
bởi manh7a1 ● Ban Quản Trị Tiến sĩ (12.1k điểm)
được bầu chọn là câu hỏi hay nhất bởi longvu999
 
Hay nhất

var x,y,UCLN,BCNN:integer;

begin

readln(x,y);
BCNN:=x*y;

While x<>y do If x>y then x:=x-y else y:=y-x;
UCLN:=x;
BCNN:=BCNN div UCLN;

write(UCLN,' ',BCNN);

end.

0 phiếu
bởi chibao ● Ban Quản Trị Cử nhân (2.0k điểm)

Có nhiều thuật toán để tìm ước chung lớn nhất (hay GCD), nhưng đơn giản nhất đó chính là thuật toán Euclid. Sau đây mình sẽ trình bày cách tư duy cho bài này

B1: Xác định đầu vào (input) là hai số a,b nguyên dương

B2: Viết thuật toán để có được đầu ra như đề bài yêu cầu là ƯCLN

Thuật toán Euclid

Trong khi b khác 0 thì:

   tạm = b

   b = a mod b

   a = tạm

kết quả sẽ là a

B3: Xuất kết quả (output) là ƯCLN

Đây là mã nguồn chương trình tìm ước chung lớn nhất bằng Pascal

uses crt;

var tam, a, b: integer;

begin

  clrscr;

 writeln("Nhap vao so a: ");

 readln(a);

 writeln("Nhap vao so b: ");

 readln(b):

 while a <> b do

 begin

   tam = b;

   b = a mod b;

   a = tam;

 end;

writeln("UCLN la: ", a);

 readln;

end. 

Các câu hỏi liên quan

0 phiếu
0 câu trả lời 57 lượt xem
Đề bài: Cho N cặp số nguyên dương a, b. Tính ước chung lớn nhất và bội chung nhỏ nhất của mỗi cặp số đó. Yêu cầu: Input: Dòng 1 là số nguyên N (1<= N <= 200).</span>            N dòng tiếp theo gồm 2 số nguyên a, b (1<= a, b <= 10^5).</span> Output: Gồm N ... tương ứng. Ví dụ: Input Output 1 15 27 3 135 3 17 29 44 44 24 12 1 493 44 44 12 24 [Mình sẽ tick cho người làm nhanh - đúng đầu tiên nha!]
đã hỏi 11 tháng 4, 2020 trong Tin học lớp 8 bởi MAN6002 Cử nhân (2.0k điểm)
  • turbo-pascal
  • tin-học-8
  • làm-nhanh-đúng-đầu-tiên-mình-tick-nha
+1 thích
0 câu trả lời 201 lượt xem
0 phiếu
1 trả lời 27 lượt xem
S=√1+2+3+...+n S=1-2+3-4.....+(-1)^n-1* n S= 1/2+2/3+3/4......+n/n+2
đã hỏi 3 tháng 4 trong Tin học lớp 8 bởi Khách
+1 thích
1 trả lời 56 lượt xem
Viết chương trình nhập mảng số thực, tìm số thực lớn nhất và vị trí của các số thực đó.
đã hỏi 8 tháng 12, 2020 trong Tin học lớp 8 bởi trannhat900 ● Ban Quản Trị Phó giáo sư (37.9k điểm)
+1 thích
1 trả lời 642 lượt xem
Câu 2: Biểu thứckhi viết trong Pascal sẽ có dạng: A. 1/b – x/(b+1)*a+2 B. 1/b – x/b+1*(a+2) C. 1/b – x/(b+1)*(a+2) D. 1/b – x/(b+1)(a+2)
đã hỏi 21 tháng 11, 2020 trong Tin học lớp 8 bởi nguyendavit123 ● Ban Quản Trị Thạc sĩ (7.8k điểm)
+1 thích
1 trả lời 76 lượt xem
Viết chương trình Pascal nhập từ bàn phím ba số thực a, b, c và kiểm tra xem nó có phải là ba cạnh của 1 tam giác vuông/ tù/ nhọn không. Gợi ý: Sử dụng bình phương 1 cạnh so sánh với tổng bình phương 2 cạnh còn lại.
đã hỏi 17 tháng 3, 2020 trong Tin học lớp 8 bởi MAN6002 Cử nhân (2.0k điểm)
+3 phiếu
2 câu trả lời 347 lượt xem
Viết chương trình nhập n số nguyên a) In các số đó ra màn hình b) Đếm có bao nhiêu số chẵn trong dãy, in các số đó ra màn hình   c) Đếm có bao nhiêu số lẻ trong dãy, in các số đó ra màn hình
đã hỏi 15 tháng 2, 2019 trong Tin học lớp 8 bởi Letram Cử nhân (4.3k điểm)
+1 thích
2 câu trả lời 137 lượt xem
viết một chương trình pascal in ra màn hình dòng chữ : " chao cac ban "  lm hộ nhé mik cần gấp  tin học lớp 8 bài 4 
đã hỏi 9 tháng 10, 2018 trong Tin học lớp 8 bởi Tuyên Phạm Thần đồng (965 điểm)
0 phiếu
1 trả lời 88 lượt xem
1). Nhập số nguyên n có 3 chữ số. Sau đó hãy đảo ngược số n. Cuối cùng in ra kết quả. 2).  Nhập số nguyên n có 4 chữ số. Sau đó tính tổng các chữ số của số n. Cuối cùng in ra kết quả. 3).  Nhập số nguyên n có 5 chữ số. Hãy in ra chữ số hàng chục ngàn, ngàn, trăm, chục, đơn vị của số n ( mỗi chữ số 1 dòng).    Các bạn viết lời giải ra giúp mình luôn nhé Thanks 
đã hỏi 30 tháng 10, 2017 trong Tin học lớp 8 bởi Phạm Ngọc LAM Học sinh (317 điểm)
0 phiếu
1 trả lời 319 lượt xem
Tìm n,n thuộc N nhỏ nhất;nguyên tố p có 2 chữ số sao cho  :   p=ƯCLN(2n-3;3n+15)  
đã hỏi 19 tháng 1, 2019 trong Toán lớp 6 bởi tuongbeo07 Học sinh (57 điểm)
  1. Babyshort

    287 Điểm

  2. minhnhatienthanh816

    242 Điểm

  3. nghiayewnek27435

    75 Điểm

  4. nguyen.nhu.y.25.04.01795

    65 Điểm

  5. hocsinhnguyentrunghieu15102010803

    65 Điểm

  6. dohiennth187

    50 Điểm

  7. saitunglam162210940

    50 Điểm

  8. chithu2k10811

    50 Điểm

  9. nguyenphannhabinh810

    50 Điểm

  10. manh.s116973557

    50 Điểm

Phần thưởng hằng tháng
Hạng 1: 200.000 đồng
Hạng 2: 100.000 đồng
Hạng 3: 50.000 đồng
Hạng 4-10: 20.000 đồng
Bảng xếp hạng cập nhật 30 phút một lần
...