Phần mềm học tập

Nguyễn Thị Kim Ngân

nhập vào số n từ bàn phím (n<1000)

a) n co bao nhiêu chữ số

b) tính tổng các chữ số của n

c) in ra các số hoàn thiện nhỏ hơn hoạc bằng n

d) tính tổn bình phương các số nguyên tố từ 1 đến n

Phúc Trần
13 tháng 11 2019 lúc 18:49

Mình rút gọn câu a với câu b của bạn Nguyễn Lê Phước Thịnh ( đề HSG cấp trường mới làm ):

a/ Uses crt;
Var i,n,d:integer;
Begin
Clrscr;
d:=0;
write('Nhap n= '); readln(n);
n:=abs(n);
while n>0 Do
Begin
n := n div 10;
d:=d+1;
end;
writeln('Co ',d,' chu so');
Readln
End.

b/ Uses crt;

Var n , s , k: integer;

Begin

Write(‘ Nhap n=’); Readln(n);

S := 0;

While n<>0 do

Begin

k := n mod 10;

n := n div 10;

S := S + k;

End;

Writeln( ‘Tong cac chu so la: ',S);

Readln;

End.

Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Lê Phước Thịnh
12 tháng 11 2019 lúc 20:06

đơn giản mà

uses crt;
var n:longint;
st:string;
i,d,t,x,y,j,t1,a,dem,kt,t2:integer;
ngto:array[1..100]of integer;
begin
clrscr;
write('nhap n='); readln(n);
str(n,st);
d:=length(st);
writeln('so chu so cua so ',n,' la: ',d);
t:=0;
for i:=1 to d do
begin
val(st[i],x,y);
t:=t+x;
end;
writeln('tong cac chu so cua ',n,' la: ',t);
{---------------------cau-c--------------------------}
writeln('cac so hoan thien nho hon hoac bang ',n,' la: ');
for j:=1 to n do
begin
a:=j;
t1:=0;
for i:=1 to a-1 do
if a mod i=0 then begin
t1:=t1+i;
end;
if t1=a then write(a,' ');
end;
{---------------------cau-d---------------------------}
writeln;
dem:=0;
for i:=2 to n do
begin
kt:=0;
for j:=2 to i-1 do
if i mod j=0 then kt:=1;
if kt=0 then
begin
inc(dem);
ngto[dem]:=i;
end;
end;
t2:=0;
for i:=1 to dem do
t:=t+sqr(ngto[i]);
writeln('tong binh phuong cac so nguyen to tu 1 toi ',n,' la: ',t);
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
Phạm Tèo
Xem chi tiết
Nguyễn Phúc
Xem chi tiết
Đặng Minh Hiếu
Xem chi tiết
HoangPhat
Xem chi tiết
Nguyễn Kim Trí
Xem chi tiết
Trần Thị Hà Trang
Xem chi tiết
Đặng Nguyệt
Xem chi tiết
Nguyễn Hồng Hạnh
Xem chi tiết
Minh Vu
Xem chi tiết