Cho số nguyên dương n . mô tả thuật toán tìm tất cả các ước dương của n
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
t bài toán: Cho số nguyên dương N và dãy số A1, A2,…, AN . Đếm các phần tử dương có trong dãy
a. Hãy xác định Input, Output của bài toán.
b. Hãy mô tả thuật toán giải quyết bài toán trên
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) dem++;
}
cout<<dem;
return 0;
}
với mỗi số nguyên dương n, ta kí hiệu d(n) là số các ước nguyên dương của n và s(n) là tổng tất cả các ước nguyên dương đó .Chẳng hạn d(2018) = 4 vì 2018 có và chỉ có 4 ước Nguyên Dương là 1;2;1009; 2018 và s (2018) = 1 + 2 + 1009 + 2018 = 3030 Tìm tất cả các số nguyên dương x sao cho s(x).d(x)= 96
Vào đây tham khảo nha ! : Câu hỏi của Phạm Chí Cường - Toán lớp 6 | Học trực tuyến
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;
Học sinh hãy trình bày thuật toán (Liệt kê hoặc sơ đồ khối) cho bài toán sau :
Tìm các số là số nguyên tố trong dãy có N số nguyên dương.
(Tìm input, output và mô tả thuật toán)
Mọi người giúp em với ạ. Em cảm ơn mọi người nhiều ạ !
Với mỗi số nguyên dương n, ta kí hiệu d(n) là số các ước nguyên dương của n và s(n) là tổng tất cả các ước nguyên dương đó. Ví dụ, d(2018) = 4 vì 2018 có (và chỉ có) 4 ước nguyên dương là 1; 2; 1009; 2018 và s(2018) = 1 + 2 + 1009 + 2018 = 3030. Tìm tất cả các số nguyên dương x sao cho s(x) . d(x) = 96
Cho dãy A gồm N số nguyên a1,a2 ,…aN và số nguyên dương k. Hãy cho biết trong dãy A có bao nhiêu số là bội của k?
Hãy xác định bài toán và mô tả thuật toán giải các bài toán
Input: N, dãy số nguyên a1,a2,...,aN và k
Output: Số phần tử là bội của k
Thuật toán liệt kê:
Bước 1: Nhập N, dãy số nguyên a1,a2,...,aN và k
Bước 2: d←0; i←1;
Bước 3: Nếu i>N thì in ra d và kết thúc
Bước 4: Nếu ai chia hết cho k thì d←d+1;
Bước 5: i←i+1; quay lại bước 3
tìm tất cả các số nguyên dương n sao cho n được viết dưới dạng a^2 +b^2, trong đó a là ước nguyên dương nhỏ nhất của n (a khác 1) và b là một ước nguyên dương nào đó của n
Câu 1: Khi thực hiện câu lệnh lặp for,to, do máy tính kiểm tra một điều kiện, điều kiện cần phải kiểm tra là gì?
Câu 2: Em hãy mô tả thuật toán và viết chương trình nhập vào một số tự nhiên n khác 0. Tìm tất cả các ước của n.
Câu 3: Em hãy mô tả thuật toán và viết chương trình nhập vào một số tự nhiên n khác 0. Đếm tất cả các ước của n.
Câu 4: Em hãy mô tả thuật toán và viết chương trình nhập vào một số tự nhiên n khác 0. Tính tổng tất cả các nước của n.
Câu 5: Em hãy mô tả thuật toán và viết chương trình nhập vào một số tự nhiên n khác 0. Tính tích tất cả các ước của n.
Câu 6: Em hãy mô tả thuật toán và viết chương trình nhập vào một số tự nhiên n khác 0. Tính tổng các số chẵn trong đoạn 1 đến n.
Câu 7: Em hãy mô tả thuật toán và viết chương trình nhập vào hai số tự nhiên a và b (a <> 0; b <> 0; a <= 0)
Câu 8: Em hãy mô tả thuật toán và viết chương trình nhập vào một số tự nhiên n khác 0. Kiểm tra xem n có là số nguyên tố hay không?
làm hộ mình nha
P/s: ở đây mình chỉ viết chương trình thôi, còn thuật toán bạn có thể suy ra từ chương trình nhé:
Câu 2:
uses crt;
var n,i:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
if n mod i=0 then write(i:4);
readln;
end.
Câu 3:
uses crt;
var n,i,dem:integer;
begin
clrscr;
write('Nhap n='); readln(n);
dem:=0;
for i:=1 to n do
if n mod i=0 then dem:=dem+1;
writeln('So uoc cua ',n,' la: ',dem);
readln;
end.
Câu 4:
uses crt;
var n,i,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
t:=0;
for i:=1 to n do
if n mod i=0 then t:=t+i;
writeln('Tong cac uoc cua ',n,' la: ',t);
readln;
end.
Câu 5:
uses crt;
var n,i:integer;
s:real;
begin
clrscr;
write('Nhap n='); readln(n);
s:=1;
for i:=1 to n do
if n mod i=0 then s:=s*i;
writeln('Tich cac uoc cua ',n,' la: ',s:4:2);
readln;
end.
Câu 6:
uses crt;
var n,i,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
t:=0;
for i:=1 to n do
if i mod 2=0 then t:=t+i;
writeln('Tong cac so chan trong khoang tu 1 den ',n,' la: ',t);
readln;
end.
Câu 8:
uses crt;
var n,i,kt:integer;
begin
clrscr;
write('Nhap n='); readln(n);
kt:=0;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then kt:=1;
if (kt=0) and (n>1) then writeln(n,' la so nguyen to')
else writeln(n,' khong la so nguyen to');
readln;
end.