Các bài tập Pascal cơ bản đến nâng cao
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Go down
ThienanAdmin
ThienanAdmin
Người điều hành
Người điều hành
Posts : 18
Join date : 30/04/2024
Age : 12
https://pascalbaitap.forumvi.com

Bài tập vòng lặp 4 Empty 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
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.
Lưu ý ( đổi tên biến  cũng được, ko vẫn đề)
Suspect
Về Đầu Trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết