Tin học Cho N và dãy số a1 ... an hãy tìm số lẻ

Tiểu Linh Hàn

Học sinh chăm học
Thành viên
15 Tháng hai 2016
614
327
126
Bắc Giang
THCS Trần Hưng Đạo
Ý bạn là viết code?

Code Pascal nè:
uses crt;
var n, i: longint;
a: array[1..10000] of longint; (giả sử có tối đa 10000 số nhé)
begin
clrscr;
readln(n);
for i := 1 to n do
readln(a);
write('Cac so le trong day so da cho la: ');
for i := 1 to n do
if a mod 2 = 1 then write(a, ' ');
readln
end.
 

Trần Thị Minh Anh

Học sinh
Thành viên
9 Tháng chín 2017
120
33
26
21
Bắc Ninh
Ý bạn là viết code?

Code Pascal nè:
uses crt;
var n, i: longint;
a: array[1..10000] of longint; (giả sử có tối đa 10000 số nhé)
begin
clrscr;
readln(n);
for i := 1 to n do
readln(a);
write('Cac so le trong day so da cho la: ');
for i := 1 to n do
if a mod 2 = 1 then write(a, ' ');
readln
end.
Mô tả thuật toán bằng cách liệt kê
 

Tiểu Linh Hàn

Học sinh chăm học
Thành viên
15 Tháng hai 2016
614
327
126
Bắc Giang
THCS Trần Hưng Đạo
Bước 1: Nhập số n (là số phần tử của dãy số nhập vào, ở đây mình giả sử có tối đa 10000 phần tử, bạn có thể tự điều chỉnh tùy theo yêu cầu bài toán)
Bước 2: Nhập lần lượt các phần tử của dãy số, từ phần tử thứ 1 đến phần tử thứ n, phần tử thứ i lưu vào biến a
Bước 3: Xét lần lượt từ phần tử thứ 1 đến phần tử cuối cùng của dãy số, phần tử nào là số lẻ thì in ra màn hình :)
Có vậy thôi bạn :) Nếu cần giải thích chi tiết hơn thì ...
 

Code11

Học sinh
Thành viên
7 Tháng mười 2018
48
19
21
Quảng Nam
THPT Trần Cao Vân
Ý bạn là viết code?

Code Pascal nè:
uses crt;
var n, i: longint;
a: array[1..10000] of longint; (giả sử có tối đa 10000 số nhé)
begin
clrscr;
readln(n);
for i := 1 to n do
readln(a);
write('Cac so le trong day so da cho la: ');
for i := 1 to n do
if a mod 2 = 1 then write(a, ' ');
readln
end.
nếu a mod 2 khác 0 và khác 1 thì sao, code bạn sai rồi
code:
var
a:array [1..1000] of int64;
i,n:integer;
begin
write('Nhap n:');readln(n);
for i:=1 to n do begin write('Nhap a[',i,']:');readln(a);
end;
write('Cac so le trong day la:');
for i:=1 to n do begin if amod 2<>0 then write(a,' '); end;
readln;
end.
Thuật toán:
Nhập số phần tử
Nhập từng phần tử trong dãy
Xét từng phần tử nếu không chia hết cho 2 thì in ra màn hình
 

Tiểu Linh Hàn

Học sinh chăm học
Thành viên
15 Tháng hai 2016
614
327
126
Bắc Giang
THCS Trần Hưng Đạo
nếu a mod 2 khác 0 và khác 1 thì sao, code bạn sai rồi
code:
var
a:array [1..1000] of int64;
i,n:integer;
begin
write('Nhap n:');readln(n);
for i:=1 to n do begin write('Nhap a[',i,']:');readln(a);
end;
write('Cac so le trong day la:');
for i:=1 to n do begin if amod 2<>0 then write(a,' '); end;
readln;
end.
Thuật toán:
Nhập số phần tử
Nhập từng phần tử trong dãy
Xét từng phần tử nếu không chia hết cho 2 thì in ra màn hình
Bạn ơi, phép tính mod là phép tính chia lấy dư, thế nên mod 2 sẽ chỉ cho ra kết quả là 0 hoặc 1 thôi nhé :)
Hơn nữa a mod 2 mà bằng 1 thì nghĩa là a ko chia hết cho 2, tức a là số lẻ nên thỏa mãn đề bài nhé :)
Xem lại giùm mình :)
 
  • Like
Reactions: Code11
Top Bottom