int search(int a, int b, int c, int q){ int index = 0; if(c == 1){ if((q-a)%b == 0)return 1; else return 0; } while(1){ int num = a*pow(c,index); // 超过上限,这里可能有问题,过不了再说,miao的 if(num > q || num <= 0){ break; } if((q - num)%b==0){ return 1; } index++; } return 0; }