Viết chương trình pascal nhập số n có đúng 3 chữ số (nếu sai thì thông báo trên màn hình không thực hiện thực hiện kiểm tra n có phải là số chính phương không? tính tổng các chữ số n xuất ra màn hình các số chính phương từ 0 đến tổng các chữ số của n (tính ở câu trên) giúp mình vs đề thi ấy!!!

2 câu trả lời

Program BTT;
Uses crt;
Var n,i,s: integer;


Function SCP(b: longint): boolean;
Begin
        If b=sqr(trunc(sqrt(b))) then exit(true);
                                      exit(false);
End;

Begin
        Clrscr;
        Write('Nhap n: '); Readln(n);

        If (n>99) and (n<1000) then
        Begin
                If SCP(n) then Writeln(n,' la so chinh phuong')
                Else Writeln(n,' khong phai so chinh phuong');

                s:=0;
                While n<>0 do
                Begin
                        s:=s+n mod 10;
                        n:=n div 10;
                End;
                Writeln('Tong cac chu so cua n la: ',s);
                Write('Cac so chinh phuong tu 1 den ',s,' la: ');
                For i:=1 to s do
                        If SCP(i) then Write(i,' ');
        End

        Else Write('Khong thuc hien!');
        Readln
End.




Program bt;
uses crt;
var a,code,n,i,m,s: integer;
st:string;
Begin
Clrscr;
read(n);
str(n,st);
if length(st) <> 3 then
begin
 clrscr;
 write('So nhap vao khong dung yeu cau!');
end
else
Begin
 m:= trunc(sqrt(n));
 if (sqr(m) = n) then writeln(m,' la so chinh phuong')
 else writeln(n,' khong phai la so chinh phuong');
 s:=0;
 for i:= 1 to length(st) do
 begin
  val(st[i],a,code);
  if code = 0 then s:=s+a;
 end;
 writeln('Tong cac chu so cua ',n,' la : ',s);
 for i:= 0 to s do
 begin
  m:=trunc(sqrt(i));
  if (sqr(m) = i) then writeln(i);
 end;
end;
Readln;
End.

Câu hỏi trong lớp Xem thêm