Bài tập vòng lặp 4
Thu Jun 27, 2024 7:57 pm
Bài tập:viết chương trình pascal nhập vào số nguyên duong n (n<10000), tính và in lên màn hình
a/ số n có bao nhiu chữ số
b/tìm tất cả các số hoàn hảo nhỏ hơn n
C/thực hiện chuyển đổi : chuyển số lớn nhất của N lên cùng
GIẢI
![Suspect](https://2img.net/i/fa/i/smiles/suspect.gif)
a/ số n có bao nhiu chữ số
b/tìm tất cả các số hoàn hảo nhỏ hơn n
C/thực hiện chuyển đổi : chuyển số lớn nhất của N lên cùng
GIẢI
- Code:
uses crt;
var
n, i, tong, soLonNhat, dem,ketqua: integer;
function hoanhao(num: integer): boolean;
var
j, sum: integer;
begin
sum := 0;
for j := 1 to num div 2 do
begin
if num mod j = 0 then
sum := sum + j;
end;
hoanhao := sum = num;{dùng boolean}
end;
begin
clrscr;
writeln('Nhap so nguyen duong n (n < 100000): ');
readln(n);
dem := n;
i := 0;
while dem > 0 do
begin
dem := dem div 10;
i := i + 1;
end;
writeLn('So chu so cua n la: ', i);
writeln('Cac so hoan hao nho hon n: ');
for i := 1 to n - 1 do
begin
if hoanhao(i) then
writeln(i:3);
end;
dem := n;
soLonNhat := 0;
while dem > 0 do
begin
if dem mod 10 > soLonNhat then
soLonNhat := dem mod 10;
dem := dem div 10;
end;
ketQua := soLonNhat;
dem := n;
while dem > 0 do
begin
if dem mod 10 <> soLonNhat then
ketQua := ketQua * 10 + dem mod 10;
dem := dem div 10;
end;
writeln('Sau khi chuyen lon nhat len cung: ', ketQua);
Readln;
end.
![Suspect](https://2img.net/i/fa/i/smiles/suspect.gif)
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|