btp2163x:C语言编程题

来源:百度文库 编辑:高校问答 时间:2024/05/04 23:40:22
编写函数int fun(int x,long y),功能:计算满足表达式x0+x1+x2+...+xn<y
的最大的n并作为函数返回值带回.例如,当x=2,y=1000时,程序输出8. */
int fun(int x,long y)
{
}
main()
{int x;long y;
scanf("%d%ld",&x,&y);
printf("n=%d\n",fun(x,y));
}

int fun(int x,long y)
{
long sum,T;
int i;
for (i=0,sum=1,T=1; ;i++)
{
T*=x;
sum+=T;
if (sum>=y) break;
}
return i;
}

int fun(int x,long y)
{
int n,s=0;
for(n=0;s<y;n++)
s+=pow(x,n);
n-=2;
return n;
}