Cho thuật toán sau:
B1: Nhập N
B2: i <- 1
B3: S<- 0
B4: Nếu i> N thì sang B7 ngược lại qua B5
B5: S<-S+i
B6: i<-i+1 rồi quay lại B4
B7: Đưa ra S rồi kết thúc
a) Minh hoạ thuật toán với N=6
b) Ý nghĩa của thuật toán là gì ?
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.
a)
Input: Dãy n số nguyên
Output: Đếm xem trong dãy đó có bao nhiêu số nguyên dương
b)
Bước 1: Nhập n và nhập dãy số
Bước 2: dem←0; i←1;
Bước 3: Nếu a[i]>0 thì dem←dem+1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Xuất dem
Bước 7: Kết thúc
#include <bits/stdc++.h>
using namespace std;
const long long maxn=1e5+10;
long long a[maxn],i,n,x,l,r,m;
//chuongtrinhcon
long long tknp(long long a[],long long l,long long r,long long x)
{
while (l<=r)
{
long long g=(l+r)/2;
if (a[g]==x) return(g);
if (x>a[g]) l=g+1;
else r=g-1;
}
return(-1);
}
int main()
{
freopen("tknp.inp","r",stdin);
freopen("tknp.out","w",stdout);
cin>>n>>x;
for (i=1; i<=n; i++)
cin>>a[i];
cout<<tknp(a,1,n,x);
return 0;
}
a: Thực hiện 5 vòng lặp
T=35
j=11
b: Câu lệnh chưa biết trước là while-do, và chương trình của bạn chỉ cần sửa lại chỗ j:=1 thành b:=1 mà thôi
program son;
var
i,n:integer;
a:array[1..32000] of integer;
begin
write(' nhap n : '); readln(n);
for i:= 1 to n do
begin
write(' nhap a[',i,']');
readln(a[i]);
end;
for i:= 1 to n do
if a[i] mod 2 <> 0 then write(a[i],' ')
readln
end.
program CompareNumbers;
var
x, y: real;
begin
// Bước 1: Nhập 2 số thực x và y từ bàn phím
write('Nhap so thuc x: ');
readln(x);
write('Nhap so thuc y: ');
readln(y);
// Bước 2: So sánh x và y, in ra số lớn hơn
if x > y then
writeln('x lon hon y')
else if x < y then
writeln('y lon hon x')
else
writeln('x bang y');
readln;
end.
(khoog bt đúng ko)
a) Minh họa thuật toán :
b) Ý nghĩa của thuật toán : Tính tổng từ 1 đến N