刚开始每次位数加一去计算这个数是多少,结果超时了。改为逐位判断后一下排到了50多位,又稍微优化一下到了20多位,后来无论怎么努力都无法再提高……#include<stdio.h> int k,m,n,d,tem; int main(void) { while(scanf("%d%d%d",&k,&m,&n) == 3) { for(d = 1,tem = (m*n);tem != m;d++) tem = tem % k * n + tem / k; printf("%d/n",d); } return 0; }