回 帖 发 新 帖 刷新版面

主题:[转帖]请教一道题

题目在http://acm.pku.edu.cn/JudgeOnline/problem?id=2509
我是这样做的,可是总是报错
#include<stdio.h>
int main()
{
        int m=0,n,k,p=0;
        scanf("%d %d",&n,&k);
        do
        {
                m+=n;
                p+=n%k;
                n=n/k;
                if(p>=k)
                {
                        n+=p/k;
                        p=p%k;
                }
        }while(n>0);
        printf("%d\n",m);

        return 0;
}
为什么呀?

回复列表 (共1个回复)

沙发

#include<stdio.h>
int main()
{
    int n, k, t, count;
    while(scanf("%d %d", &n, &k) != EOF){
        count = t = n;
        while(t >= k){
            count += t / k;
            t = t % k + t / k;
        }
        printf("%d\n", count);
    }
    return 0;
}


这是AC代码,记住是多组数据的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册