a. Nhập vào một số nguyên n (0 < n <100).
b. Kiểm tra n có phải là số nguyên tố không?
c. Liệt kê các số nguyên tố từ 1 đến n.
d. Đếm số lượng số nguyên tố từ 1 đến n.
e. Tính tổng các số nguyên tố từ 1 đến n.
f. Tính trung bình cộng các số nguyên tố từ 1 đến n.
#include <stdio.h>
//A. Nhap so nguyen 0 < n < 100
void nhapsn(int &n)
{
do{
printf("Nhap so nguyen 0 < n < 100 ");
scanf("%d", &n);
}while(n<=0 || n>=100);
}
//B. Kiem tra n co phai la so nguyen to
int KTNT(int n)
{
int i, d=0;
for(i=1; i<=n; i++)
if(n%i==0)
d++;
if(d==2)
return 1;
return 0;
}
//C. Liet ke cac so nguyen to trong pham vi tu 1 den n
void LKNT(int n)
{
printf("Cac so nguyen to tu 1 den %d: ", n);
for(int i=1; i<=n; i++)
if(KTNT(i)==1)
printf("%d ", i);
}
//D. Dem so luong so nguyen to trong pham vi tu 1 den n
int DemNT(int n)
{
int i, d=0;
for(i=2; i<=n; i++)
if(KTNT(i)==1)
d++;
return d;
}
//E. Tinh tong cac so nguyen to trong pham vi tu 1 den n
int Tong(int n)
{
int i, s=0;
for(i=1; i<=n; i++)
if(KTNT(i)==1)
s=s+i;
return s;
}
//F. Tinh trung binh cong cac so nguyen to tu 1 den n
float TBC(int n)
{
return (float)Tong(n)/DemNT(n);
}
//-----------------------------------------------------------------------------------
int main()
{
int n;
nhapsn(n);
if(KTNT(n)==1)
printf("%d la so nguyen to\n", n);
else printf("%d khong la so nguyen to\n", n);
LKNT(n);
Tong(n); printf("\nTong la %d" , Tong(n));
printf("\nTBC la %f", (float)Tong(n)/DemNT(n));
return 0;
}
0 nhận xét:
Đăng nhận xét