MLE的好奇
查看原帖
MLE的好奇
542924
lajhehe666233楼主2021/11/24 18:15
#include<stdio.h>
int ek(int di,int ci){
	int v=1;
	if(ci==0) return 1;
	if(ci%2==1){
		v=di;
	}
	return ek(di,ci/2)*ek(di,ci/2)*v;
}
bool flag[100005];
int main(){
	int b,a,num=0;
	scanf("%d%d",&a,&b);

	if(b%a!=0){
		printf("0");
		return 0;
	}
	a=b/a;
//	printf("%d",a);
	int cnt=0;
	for(int i=2;i<=a;i++){
		if(flag[i]==0&&a%i==0){
			for(int j=2;j*i<=a;j++){
				flag[j*i]=1;
			}
			cnt++;
		//	printf("%d   ",i);
			
		}
	}
//	printf("cnt=%d\n",cnt);
	printf("%d",ek(2,cnt));
}
  

这个代码里 if(ci==0) return 1; 刚开始用的是

if(ci==1) return 1;

所以卡在100 , 100这个点上

但为什么显示MLE??

2021/11/24 18:15
加载中...