您的位置:首页 > 其它

UVA294 - Divisors

2015-03-08 20:43 405 查看
用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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: