codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/* Bài 30/6/SBT Thầy NTTMK:Cho số nguyên dương n.Kiểm tra số nguyên dương n có phải là số hoàn thiện hay không ? 183.cpp*/ /* Ở đây vòng lặp sẽ cho i chạy từ 1 và i<n nên với điều kiện n là số nguyên dương(>=0) thì 2 giá trị 0 và 1 của n sẽ ko có trong vòng lặp,ta phải gán câu lệnh if(n==0||n==1) => không phải số hoàn thiện. */ /* Tác giả: Nguyễn Việt Nam Sơn Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé. Mong giúp đỡ được Bạn trên con đường Học Lập Trình. TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN */ #include<stdio.h> #include<conio.h> #define bool void kiemtra(int &n) { int tong=0,Co; bool Co=false; do{ printf("Nhap vao n(n>=0):n="); scanf("%d",&n); if(n<0) printf("So ban nhap vao khong hop le!Xin vui long nhap lai!\n"); else break; }while(n<0); if(n==0||n==1) printf("\nSo %d khong phai la so hoan thien",n); for(int i=1;i<n;i++) { if(n%i==0) { tong+=i; Co=true; //Ở đây nếu ta không gán biến bool thì nếu thoát ra khỏi vòng lặp ta mà if(tong==n)...thì kết quả sẽ ra sai hoàn toàn,bắt buộc phải dùng biến bool để xác định được giá trị của tong. } } if(Co==true) { if(tong==n) printf("\nSo %d la so hoan thien",n); else printf("\nSo %d khong phai la so hoan thien",n); } } void main() { int n,tieptuc; quaylai:kiemtra(n); printf("\nBan co muon tiep tuc chay chuong trinh khong ? Neu co bam phim C,nguoc lai bam bat ky 1 phim nao khac de ket thuc\n"); tieptuc=getch(); if(tieptuc=='c'||tieptuc=='C') goto quaylai; }
Private
[
?
]
Run code
Submit