• 24-语言入门-24-cigarettes


     
    描述
    Tom has many cigarettes. We hypothesized that he has n cigarettes and smokes them
    one by one keeping all the butts. Out of k > 1 butts he can roll a new cigarette.
    Now
    do you know how many cigarettes can Tom has?

    输入
    First input is a single line,it's n and stands for there are n testdata.then there are n lines ,each line contains two integer numbers giving the values of n and k.
    输出
    For each line of input, output one integer number on a separate line giving the maximum number of cigarettes that Peter can have.
    样例输入
    3
    4 3
    10 3
    100 5
    样例输出
    5
    14
    124
     
     
    代码:
     
    #include <stdio.h>

    //计算抽了多少支烟
    //n-现有烟头数目
    //k-k个烟头可以抽1支烟
    static int calCigarettes(int n,int k);

    int main()
    {
         int readLen = 0;
         scanf("%d",&readLen);
         getchar();
        
         while(readLen > 0)
         {
              int n = 0;
              int k = 0;
              scanf("%d %d",&n,&k);
              getchar();
              printf("%d ",calCigarettes(n,k));
             
              --readLen;
         }
        
         return 0;
    }

    //计算抽了多少支烟
    //n-现有烟头数目
    //k-k个烟头可以抽1支烟
    static int calCigarettes(int n,int k)
    {
         if(n<k || k<=1)
              return n;

         //已经抽了n支烟
         int result = n;
        
         do
         {
              //烟头中可以抽取k支烟
              int addCigaretCount = n / k;
              n = n % k + addCigaretCount;
              result += addCigaretCount;
         }while(n >= k);//剩余烟头和k对比,相等也需要进行
        
         return result;
    }
     
     
    做题时,漏掉了最初抽的香烟-n
    另外判断条件也错了,漏掉了相等情况的判断
     
     
    对于题目给定的测试数据测试没有问题,一直找不到问题出错在哪里,
    后来借鉴 【16-语言入门-16-谁获得了最高奖学金】出错找错的经验
    从输入数据入手,连续输入以下数据
     
    2 3
    3 3
    4 3
    5 3
    6 3
    7 3
    8 3
    9 3
    当输入 9 3 时,发现少计算了1,最终确定了错误发生的地方。
     
  • 相关阅读:
    低代码能做什么?这家服务商用钉钉宜搭打造了智慧医院管理应用
    【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美
    如何做规划?分享2种思维和4个方法
    配置审计(Config)配合开启OSS防盗链功能
    被解救的代码
    物联网海量时序数据存储有哪些挑战?
    Serverless:这真的是未来吗?(一)
    数据库学习之MySQL进阶
    网页三剑客之CSS
    网页三剑客之HTML
  • 原文地址:https://www.cnblogs.com/sharpfeng/p/5141753.html
Copyright © 2020-2023  润新知