UVA294 - Divisors

来源:互联网 发布:氨基酸数据库 编辑:程序博客网 时间:2024/06/14 16:47

用j*j==i 来降低复杂度

#include<stdio.h>int main(){    int T;    scanf("%d",&T);    while(T--){        int a, b;        scanf("%d %d",&a,&b);        int best=0,num=0,i,j;        for(i =a; i<=b; i++){            int num_i=0;            for(j = 1;j*j<=i ;j++){                if(i%j==0) num_i+=2;            }            if((j-1)*(j-1)==i) num_i--;            if(num_i>num) best=i,num=num_i;        }        printf("Between %d and %d, %d has a maximum of %d divisors.\n",a,b,best,num);    }    return 0;}


0 0