Chủ đề: Số Hoàn Hảo - Diễn Đàn Tin Học

Diễn Đàn Tin Học - Powered by vBulletin Ghi nhớ?
  • Tìm kiếm chi tiết
  • Home
  • Diễn đàn
  • Lập trình
  • Các ngôn ngữ lập trình
  • Pascal/Delphi/Kylix
  • Số hoàn hảo
Hiển thị kết quả từ 1 đến 6 / 6 Chủ đề: Số hoàn hảo
  • Hỗ trợ
    • Phiên bản để in
    • Giới thiệu cho bạn bè…
    • Theo dõi chủ đề này…
  • Rate This Thread
    • Excellent
    • Good
    • Average
    • Bad
    • Terrible
  1. 25-02-2012 20:05 #1 SecretStar9x
    • View Profile
    • View Forum Posts
    • View Articles
    SecretStar9x is offline Registered User Tham gia 12-03-2010 Bài viết 9 Like 0 Thanked 1 Time in 1 Post

    Số hoàn hảo

    xác định 1 số có phải là số hoàn hảo hay không (số mà tổng các ước của nó trừ nó ra bằng chính nó) Làm như thế này có đc ko? Nếu không được thì sai ở đâu? program kiem_tra; uses crt; var a,b,S,i: integer; begin clrscr; write('Nhap a='); readln(a); b:=0; i:=0; while i<a do i:=i+1; b:=b+i; end; S:=0; if (a mod b=0) then S:=S+b; if (a=S) then writeln('a la so hoan hao') else writeln('a khong la so hoan hao'); readln end. phần S:=0; if (a mod b=0) then S:=S+b; if (a=S) then writeln('a la so hoan hao') else writeln('a khong la so hoan hao'); phải cho trong vòng lặp hay cho ở ngoài vòng lặp cũng đc?
    Được sửa bởi SecretStar9x lúc 22:29 ngày 25-02-2012
    Quote Quote
  2. 27-02-2012 20:57 #2 mrjokes
    • View Profile
    • View Forum Posts
    • View Articles
    mrjokes is offline Registered User Tham gia 12-02-2012 Bài viết 20 Like 0 Thanked 0 Times in 0 Posts
    Ban lam` vay kho hieu wa', chi can the' nay` thui Write('Nhap a=');Readln(a); d:=; For i:=1 to a do If a mod i=0 then d:=d+1; If d=a then Write('La so hoan hao') else write('Khong la so hoan hao');
    Quote Quote
  3. 28-02-2012 09:18 #3 hshason's Avatar hshason
    • View Profile
    • View Forum Posts
    • View Articles
    hshason is offline Registered User Tham gia 06-10-2010 Bài viết 24 Like 0 Thanked 15 Times in 11 Posts
    Quote Được gửi bởi mrjokes View Post Ban lam` vay kho hieu wa', chi can the' nay` thui Write('Nhap a=');Readln(a); d:=; For i:=1 to a do If a mod i=0 then d:=d+1; If d=a then Write('La so hoan hao') else write('Khong la so hoan hao'); Vòng FOR của bạn ít nhất phải từ 1 đến a-1 thì mới chính xác (trừ chính nó mà), hoặc nếu muốn giảm bớt công việc bài toán thì for chạy đến căn bậc hai của a (sqrt(a)) là tốt nhất
    Quote Quote
  4. 28-02-2012 10:06 #4 cunbong24
    • View Profile
    • View Forum Posts
    • View Articles
    cunbong24 is offline Registered User Tham gia 14-02-2012 Bài viết 63 Like 0 Thanked 16 Times in 16 Posts
    Code của bạn không thực thi được vì có một vài lỗi Logic. Xin muôn năm nhớ một điều: tất cả các ngôn ngữ lập tình bậc cao hiên nay đều không "bắn" các thông báo lỗi Logic lên màn hình. Bởi thế những người mói học lập trình hay mắc lỗi này và hầu như không chữa nổi.Tôi tặng bạn code sau và bạn hãy s/sánh với code của bạn để tự tìm ra lỗi. Khi tự tìm ra lỗi bạn sẽ "thạo" lập trình và tiến bộ. (trong bản code của tôi dùng lặp For, bạn có thể thay bằng lặp While hoặc Do...While). Bạn hãy Test code của tôi với các số 6, 28, 496 (bạn nhớ rằng trong 7000 số đâu tiên chỉ có 3 số hoàn hảo là 6; 28; 496). Bạn cần test với các số 7; 23 ; 105 nữa để xem bản code này có hoàn thiện không và xem nó thông báo gì. Uses crt; Function Check(n:integer):boolean; Var i,j,tong_uoc:longint; Begin Check:=False; tong_uoc:=0; For i:=1 to n Do Begin If(n MOD i=0) Then tong_uoc:=tong_uoc+i; If tong_uoc=n Then Check:=True; End; End; Var n:integer; Begin clrscr; Write('Nhap so nguyen duong n:'); Readln(n); If (Not Check(n)) Then Write('So vua nhap khong la so hoan hao.') Else Write('So vua nhap la so hoan hao.'); Readln; End.
    Quote Quote
  5. 02-03-2012 21:01 #5 mrjokes
    • View Profile
    • View Forum Posts
    • View Articles
    mrjokes is offline Registered User Tham gia 12-02-2012 Bài viết 20 Like 0 Thanked 0 Times in 0 Posts
    Quote Được gửi bởi cunbong24 View Post Code của bạn không thực thi được vì có một vài lỗi Logic. Xin muôn năm nhớ một điều: tất cả các ngôn ngữ lập tình bậc cao hiên nay đều không "bắn" các thông báo lỗi Logic lên màn hình. Bởi thế những người mói học lập trình hay mắc lỗi này và hầu như không chữa nổi.Tôi tặng bạn code sau và bạn hãy s/sánh với code của bạn để tự tìm ra lỗi. Khi tự tìm ra lỗi bạn sẽ "thạo" lập trình và tiến bộ. (trong bản code của tôi dùng lặp For, bạn có thể thay bằng lặp While hoặc Do...While). Bạn hãy Test code của tôi với các số 6, 28, 496 (bạn nhớ rằng trong 7000 số đâu tiên chỉ có 3 số hoàn hảo là 6; 28; 496). Bạn cần test với các số 7; 23 ; 105 nữa để xem bản code này có hoàn thiện không và xem nó thông báo gì. Uses crt; Function Check(n:integer):boolean; Var i,j,tong_uoc:longint; Begin Check:=False; tong_uoc:=0; For i:=1 to n Do Begin If(n MOD i=0) Then tong_uoc:=tong_uoc+i; If tong_uoc=n Then Check:=True; End; End; Var n:integer; Begin clrscr; Write('Nhap so nguyen duong n:'); Readln(n); If (Not Check(n)) Then Write('So vua nhap khong la so hoan hao.') Else Write('So vua nhap la so hoan hao.'); Readln; End. thuat toan cua ban van con` kho' hieu, lam` nhu tui de hon, chang qua luc do bi nham thui Write(a=);Readln(a); For i:=1 to a-1 do If a mod i=0 then d:=d+i; If d=a then write('La so hoan hao')else write('Khong la so hoan hao');
    Quote Quote
  6. 18-03-2012 08:25 #6 auauau97
    • View Profile
    • View Forum Posts
    • View Articles
    auauau97 is offline DDTH.com Tham gia 29-05-2011 Location Hà Nội Bài viết 1,826 Like 1,420 Thanked 47 Times in 42 Posts
    Quote Được gửi bởi SecretStar9x View Post xác định 1 số có phải là số hoàn hảo hay không (số mà tổng các ước của nó trừ nó ra bằng chính nó) Làm như thế này có đc ko? Nếu không được thì sai ở đâu? program kiem_tra; uses crt; var a,b,S,i: integer; begin clrscr; write('Nhap a='); readln(a); b:=0; i:=0; while i<a do i:=i+1; b:=b+i; end; S:=0; if (a mod b=0) then S:=S+b; if (a=S) then writeln('a la so hoan hao') else writeln('a khong la so hoan hao'); readln end. phần S:=0; if (a mod b=0) then S:=S+b; if (a=S) then writeln('a la so hoan hao') else writeln('a khong la so hoan hao'); phải cho trong vòng lặp hay cho ở ngoài vòng lặp cũng đc? code của bạn khá dài, thực ra chỉ cần làm đơn giản các việc sau: - tính tổng các ước của số n - kiểm tra tổng các ước đó =n không, nếu có thì n là số hoàn hảo, nếu không thì n không là số hoàn hảo -tính tổng cách ước: Code: tong:=0; for i:=1 to n div 2 do if n mod i=0 then tong:=tong+i; kiểm tra: Code: if d=n --> số hoàn hảo và ngược lại
    Quote Quote
Chuyển nhanh Pascal/Delphi/Kylix Top
  • Site Areas
  • Cá nhân
  • Tin nhắn
  • Subscriptions
  • Ai đang online ?
  • Tìm kiếm trong chuyên mục
  • Trang chủ
  • Chuyên mục
  • Hoạt động của DDTH
    1. Hoạt động Off-line
      1. Các cuộc thi dành cho DDTH.com
      2. Sinh nhật DDTH.com
      3. Hội Cầu Lông DDTH.com
    2. Công tác xã hội
      1. Tin Học Xanh
      2. Nhật ký THX
    3. Thông báo
      1. Thông báo cũ
      2. Góp ý, đề nghị
      3. Nhắc nhở - Vi phạm
      4. Ứng tuyển moderator
  • Thảo luận chung
    1. CNTT Việt Nam và Quốc tế
      1. Các cuộc thi CNTT
    2. Tin tức CNTT
      1. Tin PR & Khuyến mãi
    3. ISP - ICP - OSP
      1. Viettel
      2. FPT
      3. VNPT
      4. CMC
      5. SPT
    4. Nghề nghiệp
      1. Tư vấn pháp luật
    5. Thương mại điện tử
    6. Advertisers & Publishers
    7. Search Engine Optimization/Marketing
    8. Review sản phẩm & công nghệ
    9. Startup-Khởi Nghiệp!
  • Tư vấn - Thị trường & Kiến thức cần biết
    1. Tin học căn bản
      1. Máy tính & Sức khỏe
    2. Hỗ trợ kỹ thuật
    3. Phần mềm
      1. Softwares Request
      2. Giới thiệu phần mềm
    4. Máy tính để bàn
      1. CPU & Mainboard & Memory
      2. VGA & PSU & Overclocking
      3. Phần cứng chung & Thiết bị ngoại vi
    5. Laptop
      1. Dell
  • Mobile devices
    1. iPhone & iPad
      1. iOS Apps
    2. Android Smartphones
      1. Android Apps
    3. BlackBerry
      1. BlackBerry Apps
    4. Windows Phones
      1. Windows Phones Apps
    5. Wireless Technology
    6. Tablets
    7. Discussion
  • Đào tạo
    1. Công nghệ giáo dục
    2. Học về CNTT
      1. Du học
      2. E-books
        1. Requests
    3. Chứng chỉ tin học quốc tế
      1. Microsoft
      2. Cisco
        1. Hand-on Lab
        2. Technology
      3. Những chứng chỉ khác
      4. GroupStudy
    4. English Room
  • Lập trình
    1. Các ngôn ngữ lập trình
      1. .NET
      2. C/C++
      3. Visual Basic
      4. Pascal/Delphi/Kylix
      5. Java
    2. Các vấn đề khác trong lập trình
      1. Projects
      2. Data Structures + Algorithms
      3. GameDev Zone
  • Hệ thống - Mạng
    1. Security Zone
      1. Anti-DDoS
    2. Windows
    3. Linux - Unix
    4. LAN - WAN
  • Internet & Web & Multimedia
    1. Lập trình web
      1. DDTH-CMS
    2. Thiết kế web
      1. Shockwave Flash
      2. Graphic Design
      3. HTML - CSS
      4. Design Resources
      5. CMS
      6. Yêu cầu thiết kế
    3. CLB Webmasters
      1. Hot Links !!!
      2. Scripts - Mods
    4. Showcase
    5. Xử lý phim / âm thanh
    6. Photoshop & Illustration
    7. 3D World
    8. Game
  • Cơ sở dữ liệu
    1. MS SQL Server
    2. Oracle
    3. Hệ CSDL khác
  • Domains/Hosting
    1. Web Hosting / Domain
      1. Cloud Computing
      2. Dedicated Hosting / VPS
    2. Technical & Security
    3. Advertising
    4. Hosting Support
      1. VinaCIS
  • Giao lưu - Thư giãn
    1. Tự giới thiệu - Giao lưu
      1. Interview
      2. Miền Bắc
      3. Miền Trung
      4. Social Networks
    2. Góc thư giãn
      1. Văn tuyển Làng Mùi
      2. Truyện cười
      3. Chuyện thời sự
      4. Đố vui
      5. Music - Movie - Sport
    3. Nhiếp ảnh
      1. Albums
      2. Máy ảnh - Máy quay phim - Phụ kiện
    4. Bóng Đá
  • Trung Tâm Giao Dịch
    1. Linh Kiện PC - Laptop
    2. Điện thoại, tablet và phụ kiện
    3. Server, domain, hosting
    4. Giáo dục, đào tạo về CNTT
    5. Việc làm CNTT
      1. Người tìm việc
« Bài trước | Bài tiếp theo »

Bookmarks

Bookmarks
  • Submit to Digg Digg
  • Submit to del.icio.us del.icio.us
  • Submit to StumbleUpon StumbleUpon
  • Submit to Google Google

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Quy định DDTH.com

Theo giờ GMT +7 :: 23:03. Powered by: vBulletin version 4.2.0. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Founded by vikhoa. Developed by DDTH Members. Hosted by ODS.vn

Từ khóa » Thuật Toán Tìm Số Hoàn Hảo Trong Pascal