1. Viết hàm kiểm tra một số nguyên có phải là số nguyên tố hay không? Nhập vào một số nguyên
bất kì và in ra màn hình số đó có phải là số nguyên tố hay không?
#include<stdio.h>
#include<math.h>
int SoNguyenTo(int n);
int main()
{
int n,i;
printf("\nNhap so n nguyen duong lon hon hoac bang 2:");
scanf("%d",&n);
if (SoNguyenTo(n) ==1){ printf("%d la so nguyen to ", n);}
else { printf ("%d khong la so nguyen to ",n);}
}
int SoNguyenTo(int n) {
int i;
for (i=2;i<=sqrt(n);++i){
if (n%i==0){
return 0;
break;
}
}
return 1;
}
2. Tương tự viết hàm kiểm tra số hoàn hảo, số chính phương, số palindrome.
- Số hoàn hảo
#include<stdio.h>
int SoHoanHao(int n){
int sum=0;
for (int i=1;i<n;i++){
if (n%i==0) sum+=i;
}
if (sum==n && n!=0) return 1;
return 0;
}
int main()
{
int n;
printf("Nhap so n");
scanf("%d",&n);
int kiemtra = SoHoanHao(n);
if (kiemtra==1) printf ("%d la so hoan hao",n);
else printf("%d khong la so hoan hao",n);
return 0;
}
- Số chính phương
#include<stdio.h>
int SoChinhPhuong(int n){
if (n<1)return 0;
int i=1;
while (i*i<=n){
if (i*i==n)return 1;
i++;
}
return 0;
}
int main(){
int n;
printf("Nhap so n");
scanf("%d",&n);
int kiemtra=SoChinhPhuong(n);
if (kiemtra==1) printf("%d la so chinh phuong",n);
else printf("%d khong la so chinh phuong",n);
}
- Số palindrome
#include<stdio.h>
int SoDoiXung(int n){
int DoiXung = 0;
while (n>0) {
DoiXung= DoiXung *10+n%10;
n/=10;
}
return DoiXung;
}
int Ham(int n){
if (SoDoiXung(n)==n) return 1;
return 0;
}
int main(){
int n;
printf ("Nhap so n");
scanf("%d",&n);
int kiemtra=Ham(n);
if (kiemtra==1)printf("%d la so doi xung",n);
else printf("%d khong la so doi xung",n);
return 0;
}
3. Viết hàm tính UCLN và BCNN, sau đó tính UCLN và BCNN của 5 số nhập từ bàn phím.
#include<stdio.h>
int UCLN(int a,int b){
int r;
while (b!=0){
r=a%b;
a=b;
b=r;
}
return a;
}
int BCNN (int a, int b){
return (a*b)/UCLN(a,b);
}
int main (){
int a[5],i;
printf("Nhap lan luot 5 so nguyen");
for(i=0;i<5;i++) scanf ("%d",&a[i]);
int u=UCLN(a[0],a[1]);
int b=BCNN(a[0],a[1]);
for (i=2;i<5;i++){
u=UCLN(u,a[i]);
b=BCNN(b,a[i]);
}
printf("UCLN: %d\n",u);
printf("BCNN: %d\n",b);
return 0;
}

Preview text:

1. Viết hàm kiểm tra một số nguyên có phải là số nguyên tố hay không? Nhập vào một số nguyên
bất kì và in ra màn hình số đó có phải là số nguyên tố hay không? #include #include int SoNguyenTo(int n); int main() { int n,i;
printf("\nNhap so n nguyen duong lon hon hoac bang 2:"); scanf("%d",&n);
if (SoNguyenTo(n) ==1){ printf("%d la so nguyen to ", n);}
else { printf ("%d khong la so nguyen to ",n);} } int SoNguyenTo(int n) { int i; for (i=2;i<=sqrt(n);++i){ if (n%i==0){ return 0; break; } } return 1; }
2. Tương tự viết hàm kiểm tra số hoàn hảo, số chính phương, số palindrome. - Số hoàn hảo #include int SoHoanHao(int n){ int sum=0;
for (int i=1;iif (n%i==0) sum+=i; }
if (sum==n && n!=0) return 1; return 0; } int main() { int n; printf("Nhap so n"); scanf("%d",&n); int kiemtra = SoHoanHao(n);
if (kiemtra==1) printf ("%d la so hoan hao",n);
else printf("%d khong la so hoan hao",n); return 0; } - Số chính phương #include int SoChinhPhuong(int n){ if (n<1)return 0; int i=1; while (i*i<=n){ if (i*i==n)return 1; i++; } return 0; } int main(){ int n; printf("Nhap so n"); scanf("%d",&n); int kiemtra=SoChinhPhuong(n);
if (kiemtra==1) printf("%d la so chinh phuong",n);
else printf("%d khong la so chinh phuong",n); } - Số palindrome #include int SoDoiXung(int n){ int DoiXung = 0; while (n>0) { DoiXung= DoiXung *10+n%10; n/=10; } return DoiXung; } int Ham(int n){ if (SoDoiXung(n)==n) return 1; return 0; } int main(){ int n; printf ("Nhap so n"); scanf("%d",&n); int kiemtra=Ham(n);
if (kiemtra==1)printf("%d la so doi xung",n);
else printf("%d khong la so doi xung",n); return 0; }
3. Viết hàm tính UCLN và BCNN, sau đó tính UCLN và BCNN của 5 số nhập từ bàn phím. #include int UCLN(int a,int b){ int r; while (b!=0){ r=a%b; a=b; b=r; } return a; } int BCNN (int a, int b){ return (a*b)/UCLN(a,b); } int main (){ int a[5],i;
printf("Nhap lan luot 5 so nguyen");
for(i=0;i<5;i++) scanf ("%d",&a[i]); int u=UCLN(a[0],a[1]); int b=BCNN(a[0],a[1]); for (i=2;i<5;i++){ u=UCLN(u,a[i]); b=BCNN(b,a[i]); } printf("UCLN: %d\n",u); printf("BCNN: %d\n",b); return 0; }