Uses crt;Var n,dem,tong:Longint;Begin clrscr;Write(“Nhap so nguyen duong nhieu hon 1 chu so:”);Readln(n);tong:=0; dem:=0;While n>0 DoBeginInc(dem);tong:=tong+n MOD 10;n:=n DIV 10;End;Writeln(“Tong cac chu so:”,tong);Writeln(“So cac chu so=”,dem);Readln;End.

Đang xem: Tính tổng các chữ số của một số nguyên trong pascal

Quote
Registered User

*

Được gửi bởi ngtrhieu0011

*

với những số lớn như có chừng … 100 chữ số thỉ đành chịu thua với cách div và modem nghĩ là sẽ đếm lúc nhập lun cho nhanh (dùng thủ tục readkey với lần nhập phím số và enter để thoát (ord của enter là 13))dùng mảng cũng dc nhưng lâu hơn thui
Hay bạn thử dùng cách này xem (vừa nghĩ ra nên chưa test):Program Tong_chu_so;Var s:string; i:byte; p:integer;{bien luu tong}begin write(“Nhap so: “);readln(s); for i:=1 to length(s) do p:=p+ord(s); p:=p-48*length(s); writeln(p); readlnend.
Quote
Registered User
Uses crt;Var n,dem,tong:Longint;Begin clrscr;Write(“Nhap so nguyen duong nhieu hon 1 chu so:”);Readln(n);tong:=0; dem:=0;While n>0 DoBeginInc(dem);tong:=tong+n MOD 10;n:=n DIV 10;End;Writeln(“Tong cac chu so:”,tong);Writeln(“So cac chu so=”,dem);Readln;End.

Xem thêm: Những Bài Thơ Hay Về Tình Bạn Tuổi Học Trò Hay❤️️ Chế Tình Bạn Hài Hước

Ý tưởng chủ đạo để giải bài toán này bạn có biết và hiểu không? Trước hết mình cho bạn code đã (chạy ngon). Mình thêm cho bạn đáp số nữa là: đếm số lượng các chữ số thuộc số đã cho. Ví dụ: vào là 1999, thì ra có tổng các chữ số của số đã cho=28, số các chữ số của số này=4. Nếu chưa hiểu thuật toán gửi câu hỏi lần nữa mình giảng giải cho. Tuy nhiên phương châm là: hãy tự suy nghĩ, tìm tòi là chính thì vẫn tốt cho bạn hơn!!Uses crt;Var n,dem,tong:Longint;Begin clrscr; Write(“Nhap so nguyen duong nhieu hon 1 chu so:”); Readln(n); tong:=0; dem:=0; While n>0 Do Begin Inc(dem); tong:=tong+n MOD 10; n:=n DIV 10; End; Writeln(“Tong cac chu so:”,tong); Writeln(“So cac chu so=”,dem); Readln;End.
——đoạn sauvar s:string; i, code, va: integer;begins:=1234;forr i:=1 to length (s) doval (s,va,code);end.hoàn toàn đúng. Bạn đã dốt thì đừng có be be.+ s:=s đây là type casting, đồ dốt ạ+ s luôn đúng, hình như bạn quá dốt, nên bỏ ước mơ lập trình đi.

Xem thêm: Tổng Hợp Các Loại Cây Dây Leo Ăn Quả Leo Giàn Trồng Ngay Tại Nhà

function tong(x:integer):integer;var sum:integer;begin sum:=0; while x0 do begin sum:=sum + (x mod 10); x:=x div 10; end; tong:=sum;end;
nên đưa ra chương trình có thời gian chạy tốt nhất.chương trình của mình là O(length(N));uses crt;var S,N:longint;begin clrscr; write(“nhap N:”); readln(N); while N0 do begin S:=S+N mod 10; N:=N div 10; end; write(“tong cac chu so= “,S); readln;end.
Chuyển nhanhPascal/Delphi/KylixTopSite AreasChuyên mụcHoạt động của ucozfree.comHoạt động Off-lineCông tác xã hộiThông báoThảo luận chungCNTT Việt Nam và Quốc tếTin tức CNTTISP – ICP – OSPNghề nghiệpTư vấn – Thị trường & Kiến thức cần biếtTin học căn bảnPhần mềmMáy tính để bànLaptopMobile devicesiPhone & iPadAndroid SmartphonesBlackBerryWindows PhonesĐào tạoHọc về CNTTE-booksChứng chỉ tin học quốc tếCiscoLập trìnhCác ngôn ngữ lập trìnhCác vấn đề khác trong lập trìnhHệ thống – MạngSecurity ZoneInternet & Web & MultimediaLập trình webThiết kế webCLB WebmastersCơ sở dữ liệuDomains/HostingWeb Hosting / DomainHosting SupportGiao lưu – Thư giãnTự giới thiệu – Giao lưuGóc thư giãnNhiếp ảnhTrung Tâm Giao DịchViệc làm CNTT
Bạn không thể tạo chủ đề mớiBạn không thể trả lời bài viếtBạn không thể gửi file đính kèmBạn không thể sửa bài viết của mình

Leave a Reply

Your email address will not be published. Required fields are marked *