当前位置:编程学习 > C/C++ >>

问题八十六:最多约数

 

\


[plain]
#include <stdio.h> 
 
void sort(int array[], int num); 
 
int main() 

   
    int j; 
    int i; 
    int num; 
    int mark; 
    int count; 
    int max; 
    int array[200];   
 
    while( scanf("%d", &num)!=EOF) 
    { 
     
        for(i=0; i<num; i++) 
        { 
            scanf("%d", &array[i]); 
        } 
     
        mark=0; 
        sort(array, num); 
        for(i=0; i<num; i++) 
        { 
            count=1; 
            for(j=2; j<=array[i]/2; j++) 
            { 
                if(array[i]% j==0) 
                { 
                   count++; 
                } 
            } 
            if(count> mark) 
            { 
                mark=count; 
                max= array[i]; 
            } 
        } 
 
        printf("%d\n", max); 
    } 

 
void sort(int array[], int num) 

     int i; 
     int j; 
     int t; 
 
     for(i=0; i<num; i++) 
     { 
         for(j=i; j<num; j++) 
         { 
              if(array[i]> array[j]) 
              { 
                  t= array[i]; 
                  array[i]= array[j]; 
                  array[j]= t; 
              } 
         } 
     } 

#include <stdio.h>

void sort(int array[], int num);

int main()
{
 
 int j;
 int i;
 int num;
 int mark;
 int count;
 int max;
 int array[200]; 

 while( scanf("%d", &num)!=EOF)
 {
 
  for(i=0; i<num; i++)
  {
   scanf("%d", &array[i]);
  }
   
  mark=0;
  sort(array, num);
  for(i=0; i<num; i++)
  {
   count=1;
   for(j=2; j<=array[i]/2; j++)
   {
    if(array[i]% j==0)
    {
       count++;
    }
   }
   if(count> mark)
   {
    mark=count;
    max= array[i];
   }
  }

  printf("%d\n", max);
 }
}

void sort(int array[], int num)
{
     int i;
  int j;
  int t;

  for(i=0; i<num; i++)
  {
      for(j=i; j<num; j++)
   {
        if(array[i]> array[j])
     {
         t= array[i];
      array[i]= array[j];
      array[j]= t;
     }
   }
  }
}

\ 
补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,