01/10/2018, 09:29
Hỏi về số hoàn thiện trong java
import java.util.Scanner;
public class Sohoanthien {
public static void main(String[] args) {
int nhap;
int tong=0;
Scanner input=new Scanner(System.in);
while(true){
System.out.print("Moi nhap so nguyen : ");
nhap = input.nextInt();
input.nextLine();
for(int i=1; i<nhap; i++) {
if(nhap%i==0) {
tong+=i;
}
}
if(tong==nhap){
System.out.println("So "+nhap+" la so hoan thien");
}else {
System.out.println("So "+nhap+" khong la so hoan thien");
}
}
}
}
em nhập số 6 kiểm đúng là số hoàn thiện xong em lại nhập tiếp số 6 lại không phải là số hoàn thiện, mong anh chị giúp em với
Bài liên quan
Biến tong hình như chưa được reset sau khi kết luận.
Ở sau câu lệnh System.out.println(“So “+nhap+” la so hoan thien”); bạn gán tong = 0 thì mới đúng kết quả. Do bạn dùng vòng while nên tổng sẽ ko đc reset,nên khi bạn nhập số 6 lại, thì tổng từ 6 -> 12 -> 18 … nên kết quả ra lỗi
thanks bạn nhiều nha