彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 彩世界平台 > 最多约数难点

最多约数难点

发布时间:2019-08-30 09:34编辑:彩世界平台浏览(191)

     

    晚生才疏学浅,初来乍到,有很多问题,望与大家一起学习进步!

    图片 1

    /***************************************************************************
    * 2013年9月28
    * All Rights Reserved,西华师大计算机学院
    * 作  者:曾舜尧
    * 问题描述:从文件中读取两个数,计算两个数间隔内的约数最多的那个数(教材 Page 9)
    * 算法分析:穷举法,对于给定的2个正整数,a<=b,计算a和b之间约数最多的数.
    * 数据输入:从文件读取2个正整数啊、和b.
    * 数据输出:若找到的a和b之间约数个数最多的数是result,则将div(约数个数)输出到文件
    * 备注:因不会文件操作,此程序采用键盘输入
    **************************************************************************/
    #include "stdio.h"
    int searchDivisor(int a)
    {
        int count=0;
        for(int i=1;i<=a;i++)
        {
            if(0==a%i)
            {
                count++;
            }
        }
        return count;
    }
    int main()
    {
        int a=0;//下界
        int b=0;//上界
        char tag='n';//继续标记
        int result=0;//目标数
        int div=0;//约数个数
        int temp=0;//临时存储
        do{
        printf("请输入两个合法数:");
        scanf("%d%d",&a,&b);
        if(a<0||b<0)
        {
            printf("输入错误!n");
            return 0;
        }
        for(;a<=b;a++)
        {
            temp=searchDivisor(a);
            if(temp>div)
            {
                div=temp;
                result=a;
            }
        }
        printf("数%d有%d个约数!n",result,div);
        //stdin.flush();
        printf("是否继续(y/n):");
        scanf("%c",&tag);
        }
        while('y'==tag||'Y'==tag);
        return 0;
    }
    

    [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("%dn", 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]; 

    /**************************************************************************** 2013年9月28*...

    本文由彩世界平台发布于彩世界平台,转载请注明出处:最多约数难点

    关键词:

上一篇:没有了

下一篇:没有了