求助帖
查看原帖
求助帖
1116212
Swan416ya楼主2024/1/12 15:58

想问一下我这样写错在哪里了

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
long long x,y,L,R;
int check(long long i)
{
    for(long long a=1;1;a++)
    {
        for(long long b=1;1;b++)
        {
            if(pow(x,a)+pow(y,b)==i)
                return 0;
            if(pow(x,a)+pow(y,b)>i)
                break;
        }
    }
    return 1;
}


int main()
{
    scanf("%lld%lld%lld%lld",&x,&y,&L,&R);
    long long l=0,r=0,max=-1,flag=0;
    for(long long i=L;i<=R;i++)
    {
        if(check(i)==1&&flag==0)
        {
            flag=1;
            l=i;
        }
        if(check(i)==0&&flag==1)
        {
            flag=0;
            r=i;
            if(r-l+1>max)
                max=r-l;
        }
    }
    printf("%lld\n",max);
    return 0;
}

2024/1/12 15:58
加载中...