快乐打码 2023-02-19 15:13 采纳率: 70.6%
浏览 13

测试数据都对可为什么还有一个测试点不读对P1150 Peter 的烟

img


#include <stdio.h>

int main() {
    int n, k, a = 0, c = 0;
    scanf("%d %d", &n, &k);
    a = n / k;
    c = a + n;
    while (a != 0) {//10 3
        a = a / k;
        c += a;
    }
    printf("%d\n", c);
    return 0;
}
  • 写回答

2条回答 默认 最新

  • qq_46161207 2023-02-19 15:52
    关注

    根据您提供的错误信息,我们可以看到是第5个测试点出了问题,那么可能是算法在特定情况下出现了错误。

    根据样例,输入10和3,我们得到的答案是13。我们可以手动计算一下,在10进制下,13除以3得到的商为4余1,即13可以表示为3进制下的111,而4除以3得到的商为1余1,即4可以表示为3进制下的11,因此13在3进制下的表示为11111,即15,所以最终的结果是13+15=28。

    那么我们可以使用c语言继续验证一下:

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

    输出结果为28,和上述分析一致。

    因此,您需要检查一下您的代码在特定情况下是否有误,并可以通过手动计算来验证答案的正确性。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月19日

悬赏问题

  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题