Em là tân sinh viên, mới học lập trình C++ nên còn gà.
Em có đoạn code xác định số hoàn hảo viết bằng Visual Studio:
Em nhập số 6 thì nó vẫn báo là số hoàn hảo, nhưng khi nhập lên số lớn như 100, 200 thì máy vẫn báo là số hoàn hảo.
Em viết chương trình trên dựa vào tính chất: Số hoàn hảo là số có tổng các ước số gấp đôi số đó.
Em thấy tổng các ước số của 100 là 217, lấy 217 chia 100 thì gần bằng 2, không biết máy có nhận số 2.17 thành số 2 ko nữa.
Mong các bác chỉ em cách bắt máy tính đúng bằng 2 luôn.
Em cảm ơn!
Em có đoạn code xác định số hoàn hảo viết bằng Visual Studio:
HTML Code:
#include <conio.h> #include <stdio.h> #include <math.h> void main() { int i,n,s,m; printf("Nhap mot so nguyen: "); scanf("%d",&n); s=0; for (i=1;i<=n;i++) { if (n%i==0) s=s+i; } printf("Tong cac uoc so cua %d la: %d \n",n,s); m=s/n; if (m==2) printf("So %d la so hoan hao ",n); else printf("So %d khong la so hoan hao",n); getch(); }
Em viết chương trình trên dựa vào tính chất: Số hoàn hảo là số có tổng các ước số gấp đôi số đó.
Em thấy tổng các ước số của 100 là 217, lấy 217 chia 100 thì gần bằng 2, không biết máy có nhận số 2.17 thành số 2 ko nữa.
Mong các bác chỉ em cách bắt máy tính đúng bằng 2 luôn.
Em cảm ơn!
Comment