Cho 2 số nguyên dương a,b . Hãy cho biết a có phải là ước của b không? A. Xác định bài toán: -Input: ? -Output: ? B. Ý tưởng: " (gợi ý: 1. Khi nào a là ước của b? 2. Dấu hiệu nào cho biết b chia hết cho a 3. C. Mô tả Thuật toàn - Liệt kê - Sơ đồ khối
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lờ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
a. Xác định bài toán (0,5đ)
- Input: Ba số dương a, b và c
- Output: Kiểm tra a, b, c có là ba cạnh của một tam giác hay không.
b. Ý tưởng: Ba số dương a, b và c là độ dài các cạnh của một tam giác khi và chỉ khi a + b > c, b + c > a, c + a > b. (0.5đ)
c. Thuật toán (2đ)
Bước 1: Nhập ba số dương a, b và c
Bước 2 : Nếu a + b > c và b + c > a và c + a > b thì thông báo ba số a, b và c tạo thành 3 cạnh của tam giác ngược lại thông báo ba số a, b và c không tạo thành ba cạnh của tam giác.
Bước 3: Kết thúc thuật toán
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,nn;
int main()
{
cin>>n;
cin>>x;
nn=x;
for (i=1; i<n; i++)
{
cin>>x;
nn=min(nn,x);
}
cout<<nn;
return 0;
}
input: a,b,c,d,e
output: \(\text{(a+b+c+d+e)}⋮5\) hay \(\text{(a+b+c+d+e)}⋮̸5\)
#include <bits/stdc++.h>
using namespace std;
long long n,i,x;
int main()
{
cin>>n;
int dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2==0) dem++;
}
cout<<dem;
return 0;
}