Advertisement
llvlleo1810

Đếm số nguyên tố (theo thứ tự từ nhỏ đến lớn) trong mảng một

Apr 17th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.94 KB | None | 0 0
  1. #include <stdio.h>
  2. #define N 31
  3. int SNT(int a)
  4. {
  5.     int i=1,b;
  6.     b=a;
  7.     while(i<(a-1))
  8.     {
  9.         i+=1;
  10.         if((a%i)==0) b=0;
  11.     }
  12.     if(b==1) b=0;
  13.     return(b);
  14. }
  15. void NM(int a[], int n){
  16.     int i;
  17.     for(i=1;i<=n;i++)
  18.     {
  19.         scanf("%d",&a[i]);
  20.     }
  21. }
  22. void DC(int *a,int *b)
  23. {
  24.     int c;
  25.     c=*a;
  26.     *a=*b;
  27.     *b=c;
  28. }
  29. void SX(int a[],int n)
  30. {
  31.     int i,j;
  32.     for(i=1;i<=n;i++)
  33.     {
  34.         for(j=i+1;j<=n;j++)
  35.         if(a[i]>a[j]) DC(&a[i],&a[j]);
  36.     }  
  37. }
  38. int main()
  39. {
  40.     int a[N],n,i,b=1;
  41.     scanf("%d",&n);
  42.     NM(a,n);
  43.     for(i=1;i<=n;i++) a[i]=SNT(a[i]);
  44.     SX(a,n);
  45.     i=1;
  46.     while(a[i]==0)
  47.     i++;
  48.     while(i<N)
  49.     {
  50.         if(i==n)
  51.         {
  52.             printf("\n%d\t%d",a[i],b);
  53.             break;
  54.         }
  55.         if(a[i]==a[i+1]) b+=1;
  56.         else {
  57.         printf("\n%d\t%d",a[i],b);
  58.         b=1;
  59.         }
  60.         i++;
  61.     }
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement