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.

Bạn đ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 vì ngtrhieu0011
*

với các số to như gồm chừng ... 100 chữ số thỉ đành chịu thua trận với cách div với modem nghĩ là sẽ đếm dịp nhập lun cho nhanh (dùng thủ tục readkey với lần nhập phím số cùng enter để thoát (ord của enter là 13))dùng mảng cũng dc nhưng dài lâu thui
Hay các bạn thử dùng giải pháp này xem (vừa suy nghĩ ra buộc phải chưa test):Program Tong_chu_so;Var s:string; i:byte; p:integer;bien luu tongbegin write("Nhap so: ");readln(s); for i:=1 khổng lồ length(s) vị 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 Do
Begin
Inc(dem);tong:=tong+n gian lận 10;n:=n DIV 10;End;Writeln("Tong cac chu so:",tong);Writeln("So cac chu so=",dem);Readln;End.
Ý tưởng chủ yếu để giải việc này bạn có biết với hiểu không? trước nhất mình cho bạn code vẫn (chạy ngon). Bản thân thêm cho bạn đáp số nữa là: đếm số lượng các chữ số nằm trong số đã cho. Ví dụ: vào là 1999, thì ra có tổng các chữ số của số đang cho=28, số những chữ số của số này=4. Nếu chưa chắc chắn 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 trường đoản cú suy nghĩ, tìm kiế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 bởi vì 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 lớn length (s) doval (s,va,code);end.hoàn toàn đúng. Bạn đã dốt thì đừng gồm be be.+ s:=s đấy là type casting, thiết bị dốt ạ+ s luôn đúng, trong khi bạn thừa dốt, bắt buộc bỏ ước mơ lập trình đi.

function tong(x:integer):integer;var sum:integer;begin sum:=0; while x0 vị 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 giỏi nhất.chương trình của bản thân mình là O(length(N));uses crt;var S,N:longint;begin clrscr; write("nhap N:"); readln(N); while N0 vì chưng begin S:=S+N thủ thuật 10; N:=N div 10; end; write("tong cac chu so= ",S); readln;end.
Chuyển nhanh
Pascal/Delphi/Kylix
Top
Site Areas
Chuyên mục
Hoạt cồn của DDTHHoạt rượu cồn Off-line
Công tác làng hội
Thông báo
Thảo luận chung
CNTT nước ta và Quốc tếTin tức CNTTISP - ICP - OSPNghề nghiệp
Tư vấn - thị trường & kiến thức cần biết
Tin học tập căn bản
Phần mềm
Máy tính nhằm bàn
Laptop
Mobile devicesi
Phone & i
Pad
Android Smartphones
Black
Berry
Windows Phones
Đào tạo
Học về CNTTE-books
Chứng chỉ tin học quốc tếCisco
Lập trình
Các ngôn ngữ lập trình
Các sự việc khác trong lập trình
Hệ thống - Mạng
Security Zone
Internet và Web và Multimedia
Lập trình web
Thiết kế web
CLB Webmasters
Cơ sở dữ liệu
Domains/Hosting
Web Hosting / Domain
Hosting Support
Giao lưu lại - Thư giãn
Tự reviews - Giao lưu
Góc thư giãn
Nhiếp ảnh
Trung tâm Giao Dịch
Việc có tác dụng CNTT
Bạn không thể tạo thành chủ đề mới
Bạn không thể trả lời bài viết
Bạn không thể giữ hộ file đính thêm kèm
Bạn không thể sửa nội dung bài viết của mình

Đề bài xích là chũm này:Cho số nguyên dương n, fan ta viết những số nguyên tiếp tục từ 1 tới n vào hệ thập phân để tạo nên 1 dãy các chữ số. Tính tổng các chữ số của dãy.Input
Một số n tốt nhất (n Output
Số nguyên độc nhất là kết quả tìm đượcví dụ:n=3 thì output là 6n=20 thì output đầu ra là 102tính theo kiểu: 1+2+3+4+5+6+7+8+9+1+0+1+1+1+2+1+3+1+4+1+5+1+6+1+7+ 1+8+1+9+2+0= 102Do bài bác này số lượng giới hạn n vô cùng lớn(100 chữ số) bắt buộc phải tìm được quy hiện tượng để tính tổng từ bỏ số n.Mình thử tìm kiếm quy qui định của nó nhưng ko ra.Ai pit thì giúp mình với
*
4798 bài viết

Đề bài xích là nạm này:Cho số nguyên dương n, fan ta viết các số nguyên liên tiếp từ 1 tới n vào hệ thập phân để tạo nên 1 dãy những chữ số. Tính tổng những chữ số của dãy.Input
Một số n tuyệt nhất (n Output
Số nguyên nhất là kết quả tìm đượcví dụ:n=3 thì đầu ra là 6n=20 thì output đầu ra là 102tính theo kiểu: 1+2+3+4+5+6+7+8+9+1+0+1+1+1+2+1+3+1+4+1+5+1+6+1+7+ 1+8+1+9+2+0= 102Do bài bác này giới hạn n khôn cùng lớn(100 chữ số) nên phải tìm đc quy phương pháp để tính tổng từ số n.Mình thử tìm quy cơ chế của nó cơ mà ko ra.Ai pit thì góp mình với

Bài này không tồn tại quy lao lý gì cả. Chỉ đơn giản dễ dàng là mang đến số nhập vào là một trong những chuỗi n.Cho i chạy từ 1 đến n với i là vẻ bên ngoài chuỗi.Ứng dụng công tác cộng 2 số bao gồm 200 chữ số vào là ra.

Luôn yêu để sống, luôn luôn sống để học toán, luôn luôn học toán để yêu!!!

*
2 bài bác viết
*
$$ extLOVEleft( x ight)|_x = alpha^Omega = + infty $$I"m still there everywhere.

Xem thêm: Top 1 7 Ứng Dụng (App) Kiếm Tiền Online Trên Điện Thoại Uy Tín Năm 2023


Bạn tạo thành 1 hàm là incs(i) mang tài liệu là vẻ bên ngoài chuỗi; vào đó, i là biến đổi kiểu chuỗi.Hàm này cho ra số tiếp theo của i.Ví dụ: incs('1234567891234567891234567891321323291')='1234567891234567891234567891321323292'incs('1234567891234567891234567891321323291234567854213215469')='1234567891234567891234567891321323291234567854213215470'Với hàm này thì cần sử dụng trong pascal là chạy được.Đề mang đến n buổi tối đa là 100 chữ số thì ta dùng kiểu string vì chưng kiểu string tất cả độ dài buổi tối đa (trong turbo pascal) là 255 (trong không tính tiền pascal thì cho đến 2 tỷ kí tự).Hay nói nắm lại, ta xử lí việc bằng kiểu dữ liệu string.

Cách của perfectstrong đúng rồi đó nhưng ở đây n chưa hẳn có 100 chữ số mà lại là 10^100 (số chữ số lớn hơn nhiều). Sự việc nêu ra tiếp cận ở góc độ TIN HỌC (không phải TOÁN HỌC nhé) thì cách xử lý sẽ là:- Độ phức tạp về ko gian: năng lực lưu trữ là hữu hạn (không có khái niệm ngơi nghỉ trong Toán học)- Độ phức tạp về thời gian: Khả năng giám sát và đo lường (thời gian thực hiện làm cho ra kết quả) dựa trên số phép toán cầnthuwch hiện.Quya trở về với câu hỏi của bạn. Trong trường hợp giao diện chuỗi bị tràn (số gồm số chữ số vượt 255) thì sử dụng dách sách links đơn (ứng dụng kiểu nhỏ trỏ) khi đó chiều lâu năm số là vô hạn theo nghĩa còn đủ bộ nhớ lưu trữ để tạo nên các trở thành động.Tóm lại, cũng là một vấn đề nhưng lại tiếp cận theo góc độ Toán học cùng Tin học tập thì biện pháp giải quyết rất có thể khác nhau (nhưng vẫn giải quyết và xử lý được cùng yêu cầu).
*