Em hãy trình bày các thành phần cơ bản của thuật toán và xác định bài toán tìm ước chung lớn nhất của hai số tự nhiên a và b tương ứng với mỗi thành phần đó
Câu 8. Em hãy tìm đầu vào, đầu ra của các thuật toán sau đây:
a) Thuật toán tính trung bình cộng của hai số a, b.
b) Thuật toán tìm ước chung lớn nhất của hai số tự nhiên a và b
a,
Đầu vào :: Giá trị aa , giá trị bb
Đầu ra : Giá trị trung bình cộng a,ba,b
b,
Đầu vào :: Giá trị aa , giá trị bb
Đầu ra :: Ước chung lớn nhất của hai số aa và b
Câu 8. Em hãy tìm đầu vào, đầu ra của các thuật toán sau đây:
a) Thuật toán tính trung bình cộng của hai số a, b.
b) Thuật toán tìm ước chung lớn nhất của hai số tự nhiên a và b.
tham khảo
a,
Đầu vào :: Giá trị aa , giá trị bb
Đầu ra : Giá trị trung bình cộng a,ba,b
b,
Đầu vào :: Giá trị aa , giá trị bb
Đầu ra :: Ước chung lớn nhất của hai số aa và b
Câu 1: Hãy tìm đầu vào, đầu ra của các thuật toán sau đây:
a) Thuật toán tính trung bình cộng của hai số a,b
b) Thuật toán tìm ước chung lớn nhất của hai số tự nhiên a và b.
a) đầu vào : hai số a và b
đầu ra : trung bình cộng của 2 số a và b
b) đầu vào : hai số tự nhiên a và b
đầu ra : ước chung lớn nhất của hai số tự nhiên a và b
a) đầu vào : hai số a và b
đầu ra : trung bình cộng của 2 số a và b
b) đầu vào : hai số tự nhiên a và b
đầu ra : ước chung lớn nhất của hai số tự nhiên a và b
Bài 1:Xác định bài toán và mô tả thuật toán tìm các ước của 1 số nguyên
dương N.
Bài 2: Xác định bài toán và mô tả thuật toán tìm bội chung nhỏ nhất của 2 số
nguyên dương a và b ( BCNN(a,b)).
Bài 3: Hãy chỉ ra Input và Output, mô tả thuật toán của bài toán sau: Tính
tổng các số chẵn trong dãy số nguyên A = {a1, a2, …, an} cho trước
Giúp em với ạ
Câu 1 :
Tham khảo
Y tưởng : xét từng số hạng trong dãy nếu số hạng > 0 thì xếp vào một biến tổng rồi chia cho số hàng đã xếp được
Input : Dãy A gồm N số nguyên a1....aN;
Output : Trung bình cộng của các số dương;
B1 : Nhập N số nguyên a1.... aN;
B2 : TB <--- 0, dem <---- 0, i <---- 1, Tong <--- 0;
B3 : Nếu a[i] > 0 thì Tong <--- TB + a[i];
B4 : dem <--- dem + 1;
B5 : Nếu i > N thì đưa ra màn hình kết quả TB = Tong/Dem rồi kết thúc chương trình;
B 6 : i <--- i + 1 rồi quay lại B3;
Câu 2 :
Tham khảo
Ta nhận thấy rằng, bội số chung nhỏ nhất của hai số nguyên dương a, b có thể được tính theo công thức:
ab/d
trong đó d là ước chung lớn nhất của a và b.
Bởi vậy:
Nên viết hàm để tính bội chung nhỏ nhất của hai số nguyên dương vì chương trình con cần trả ra một giá trị;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b cần sử dụng hàm tính ước chung lớn nhất của a và b.
- Hàm tính ước chung lớn nhất của hai số nguyên dương a, b:
function ucln (a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r: = a mod b ,a : = b ; b:= r; end; ucln:= a; and;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b:
ADVERTISING Video Player is loading.This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.lunction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Khi đó, chương trình con tính bội số chung nhỏ nhất của hai số nguyên dương a, b như sau:
program bai4_chuong6;
use crt ;
vai
X y: integer;
function ucln(a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r:= a mod b; a: = b ,b:= r;
end; ucln:= a;
end;
txnction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Begin
clrscr;
writeln('Nhap vao hai so can tim BCNN');
write ('x=') , readln(x); write ('y=') , readln(y);
writeln('bcnn cua hai so',x:4,'va',y:4,'la',bcnn(a,b)
readln
End.
Câu 3 : chịu
Hãy xác định input và output của bài toán và trình bày thuật toán để giải bài toán Cho dãy A gồm N số nguyên A … .AN - 1
a ) Hãy tính tổng của tất cả các số trong dãy
b ) Hãy đếm tất cả các số chẵn trong dãy .
c ) Hãy số lớn nhất trong dãy . d ) Hãy sắp xếp các số trong dãy thành dãy tăng
a:
#include <bits/stdc++.h>
using namespace std;
long long n,x,i,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
t=t+x;
}
cout<<t;
return 0;
}
Hãy xác định bài toán , mô tả thuật toán và viết chương trình nhập vào một dãy số nguyên với n phần tử ( n được nhập từ bàn phím ) , tìm giá trị nhỏ nhất và tích của dãy số đó
uses crt;
var a:array[1..100]of integer;
i,n,nn,s:integer;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
nn:=a[1];
s:=1;
for i:=1 to n do
begin
if nn>a[i] then nn:=a[i];
s:=s*a[i];
end;
writeln(nn);
writeln(s);
readln;
end.
c/ Tìm giá trị lớn nhất của 3 số nguyên a,b,c
d/ Cho dãy A gồm N số nguyên A,, A,....,An(0<N<=1000;
A <=10000). Tim và đưa ra giá trị bé nhất của dãy.
Yêu cầu: - Xác định Input và Output của các bài toán trên
- Trình bản thuật toán giải các bài toán trên bằng Liệt kẻ và Sơ đồ khối
c: include <bits/stdc++.h>
using namespace std;
long long a,b,c;
int main()
{
cin>>a>>b>>c;
cout<<max(a,max(b,c));
return 0;
}
Bài 1: Tìm tất cả các ước chung của hai số tự nhiên liên tiếp.
Bài 2: Tìm ước chung của:
a) 2n+1 và 3n+1
b) 5n+6 và 8n+7 ( với n là số tự nhiên )
Bài 3: Tìm số tự nhiên a lớn nhất biết rằng 60 và 504 cùng chia hết cho a.
Bài 4: Đội văn nghệ của trường gồm 60 năm và 72 nữ về huyện để biểu diễn. Muốn phục vụ được nhiều xã hội hơn, đội dự định chia thành tổ và phân phối nam nữ vào các tổ cho đều nhau. Hỏi có thể chia nhiều nhất thành bao nhiêu tổ ? Khi đó mỗi tổ có mấy nam, nữ ?
Bài 5: Tìm các ước chung của 450 và 1500 biết rằng chúng là các số tự nhiên có hai chữ số.
Bài 1: Xác định Input và Output của các bài toán sau:
1a) Cho số nguyên dương A. Hãy tính và xuất ra màn hình A là số chẵn hay A là số lẻ.
1b) Cho hai số nguyên dương A và B. Hãy tính và xuất ra màn hình ước chung lớn nhất của hai số đó.
1c) Xếp loại học tập các học sinh trong lớp.
1d) Quản lí điểm trong một kì thi bằng máy tính.
b:
Input: a,b
Output: UCLN(a,b)