E có cái đề bài như tiêu đề:
kiểm tra 1 số n có phải là số đẹp hay không
vd 1234, 1235599.
Làm với ngôn ngữ C, theo các bác định nghĩa ntn là một số đẹp.
E tìm trên google thì có 2 định nghĩa khác nhau:
(1): Một số nguyên dương được gọi là số đẹp nếu tổng các chữ số của nó (trong hệ thập phân). chia hết cho số chữ số. Ví dụ, 15 là một số đẹp vì 1+5 chia hết cho 2.
(2): Một số nguyên dương được gọi là đẹp nếu tổng bình phương các chữ số của nó (trong dạng biểu diễn thập phân) là một số nguyên tố.
Ví dụ: 12 là một số đẹp vì 1^2 + 2^2 = 5 là số nguyên tố.
E code theo cả định nghĩa thì 2 cái ví dụ ở đề bài lại không phải là số đẹp
dưới đây là code của e, cảm ơn mọi người đã quan tâm ạ
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int isPrime(int n){
int uoc = 0;
if(n < 2)
return 0;
for(int i = 2;i<=sqrt(n);i++)
if(n%i==0)
uoc++;
if(uoc==0)
return 1;
else
return 0;
}
int soLuongCS(int n){
int dem = 1;
while(n>=10){
n/=10;
dem++;
}
return dem;
}
int kiemTraSoDep(int n){
int cs = soLuongCS(n);
int arr[n], i = 1, sum = 0;
while(n!=0){
arr[i] = n%10;
n/=10;
i++;
}
for(int j = 0; j < i;j++){
sum+=arr[j];
}
return sum%cs==0 ? 1 : 0;
}
int main(int argc, char *argv[]){
int n;
printf("Nhap vao n: ");
scanf("%d", &n);
if(kiemTraSoDep(n))
printf("\n%d la so dep!",n);
else
printf("\n%d khong phai la so dep!",n);
getch();
return 0;
}