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?
汤姆有很多香烟。我们假设他有n支香烟,开始一支一支的抽起来,并且他保留了烟屁股。k个(k>1)烟屁股能够换一支新烟。现在,你知道汤姆一共能抽多少支烟吗?

输入
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.
首先,单行输入n,表示有n组数据。然后又n行,每行包括2个整数n、k。

输出
For each line of input, output one integer number on a separate line giving the maximum number of cigarettes that Peter can have.
对于每行的输入,在单独的每一行上输出一个整数,给出Peter可以拥有的最大香烟数量。

样例输入
3
4 3
10 3
100 5
样例输出
5
14
124

代码如下:

方法一

思路分析:
首先输入一个n,表示有n组数据要输入;然后,再输入两个数a、b,a表示一共有多少根烟,b表示多少个烟头可以换一根烟。
例如:
4 3:一共有四根烟,并且每3个烟头可以换一根烟
将4根烟,3个分成一组,可以分1组并且还剩余1根,而那所分成的一组3根烟所剩下的烟头又可以换一根烟,最后4(一共4根烟数)+1(其中可以分成的组的个数,即可以换的新烟数)+1(可以换1根)=6
4+1+1=6

10 3:同样的道理
将10根烟,每3根烟分成一组,可以分成3组剩余1根,这样可以再次换3根烟,新得到的3根烟和剩余的1根烟一共4根,够3根,这样又可以换1根,最后
10(一共10根烟)+3(可以分成3组,每一种3根)+1(可以换1根)=14
10+3+1=14

同理的100 5也是这个道理。

方法一:C++
#include<iostream>
using namespace std;
int main()
{int n;cin>>n;while(n--){int m,w,sum;scanf("%d%d",&m,&w);sum=m;while(m/w){ sum+=m/w; m=m/w+m%w; }cout<<sum<<endl;}
return 0; 
}
方法一:Java
import java.util.Scanner;public class cigarettes {public static void main(String[] args) {int a,b,c;Scanner wsq = new Scanner(System.in);a=wsq.nextInt();while(a--!=0){int m,n,sum=0;m=wsq.nextInt();n=wsq.nextInt();sum=m;while(m/n !=0){sum=sum+m/n;m=m/n+m%n;}System.out.println(sum);	}}
}
方法二:C++
#include<stdio.h>
int main()
{int n,a,b;scanf("%d",&n);while(n--){scanf("%d %d",&a,&b);printf("%d",a+(a-1)/(b-1));}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

add separator in the sessionmenu

$itk_component(sessionmenu) add separator $itk_component(sessionmenu) add -label "Add images..." \       -underline 4 \       -command [code $this addImages] $itk_component(sessionmenu) add separator 转载于:https://ww…

Java Thread类的静态布尔型interrupted()方法(带示例)

线程类静态布尔型interrupted() (Thread Class static boolean interrupted()) This method is available in package java.lang.Thread.interrupted(). 软件包java.lang.Thread.interrupted()中提供了此方法。 This method is used to check the thread, whether a thread has…

IPv6技术未来发展趋势

前言 人们对于采用综合技术&#xff0c;将数据、话音和视频等业务“一网打尽”梦想的追求从来都没有停止过。从上世纪80年代的综合业务数字网(ISDN)技术&#xff0c;到90年代的基于异步传输模式(ATM)的宽带ISDN&#xff0c;直到现在的IPMPLS(多协议标记交换)技术等。在这一过程…

伪静态设置 html,Apache下伪静态html(URL Rewrite)的设置方法

一 打开 Apache 的配置文件 httpd.conf 。二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉三 在 httpd.conf中添加&#xff1a;RewriteEngine On#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]\.htmlRewriteRule ^(.*?(?:index|dispbbs))-([-0-9…

栈的应用

1、括号匹配 如果是扫描到左括号&#xff0c;则入栈如果是扫描到右括号&#xff0c;则检查现在的栈顶元素&#xff0c;如果括号匹配&#xff0c;则栈顶元素出栈结束时&#xff0c;如果栈内没有元素&#xff0c;则括号匹配 bool Check(char *str){stack s;InitStack(s);int le…

Silverlight 布局控件

1.1. Canvas 在Canvas 布局中&#xff0c;控件使用Canvas.Top和Canvas.Left来定位内容: View Code 1 <Canvas x:Name"LayoutRoot" Background"White">2 <Button Name"SampleButton"3 Content"Sample Bu…

谁是最好的Coder

描述 计科班有很多Coder&#xff0c;帅帅想知道自己是不是综合实力最强的coder。 帅帅喜欢帅&#xff0c;所以他选了帅气和编程水平作为评选标准。 每个同学的综合得分是帅气程度得分与编程水平得分的和。 他希望你能写一个程序帮他一下。 输入 数据有多组。 输入一个数…

如何检查数组是否包含JavaScript中的对象?

In this article, we will look at various methods to check if an array includes an object in JavaScript. Consider the following object, 在本文中&#xff0c;我们将研究各种方法来检查数组是否包含JavaScript中的对象 。 考虑以下对象&#xff0c; const squirtle {n…

或许是累了,思维开始发散

在高歌猛进了近一个月之后&#xff0c;这几天似乎找不到感觉了。之前发现的几个技术难点也一直没有解决的思路。而且我发现自己的想法总是停留在表面和高层&#xff0c;如果深入进技术细节&#xff0c;就力不从心。我愿意&#xff0c;也可以跟踪追赶上业界的技术前沿&#xff0…

HTML边框百分比,CSS:以百分比和边框表示的宽度

使用该box-sizing: border-box属性。它修改了盒子模型的行为&#xff0c;以将填充和边框视为元素总宽度的一部分(但不包括边距)。这意味着元素的设置宽度或高度包括为填充和边框设置的尺寸。在您的情况下&#xff0c;这意味着元素的宽度及其边界的宽度将占用30&#xff05;的可…

Collection 和 Map接口及其实现类总结

Collection 和 Map接口及其实现类总结 Collection接口 Collection是最基本的集合接口&#xff0c;一个Collection代表一组Object&#xff0c;即Collection的元素&#xff08;Elements&#xff09;。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SD…

C和汇编-----for循环

环境&#xff1a;VC for循环有三个表达式&#xff0c;第一个表达式是初始化&#xff0c;在for循环之前执行一次&#xff0c;后面就不执行了&#xff0c;第二个是循环条件&#xff0c;在执行循环体之前求值&#xff0c;如果为真&#xff0c;执行循环体&#xff0c;如果为假&…

茵茵的第一课

描述 茵茵今年已经六年级了&#xff0c;爸爸给她报了一个学习程序设计的班。 第一节课上&#xff0c;老师讲的就是如何输入一个数&#xff0c;再原样输出出来。 以现在的你看来&#xff0c;挺容易的是不&#xff1f; 那么&#xff0c;就请你也写出一个一样的程序吧 输入 第一…

python 立方体_Python | 创建三个数字列表,分别是正方形和立方体

python 立方体Take a range i.e. start and end, and we have to create three lists, list1 should contains numbers, list2 should contain squares of the numbers and list3 should contain cubes of the numbers in Python. 取一个范围&#xff0c;即开始和结束&#xff…

WPF关于WindowInteropHelper的一个BUG

在Windows SDK中关于WindowInteropHelper类的介绍中&#xff0c;关于其Owner属性的说明和实现有些问题。 原文是&#xff1a;An example scenario is if you need to host a WPF dialog box in a Win32 application. Initialize the WindowInteropHelper with a WPF window obj…

韩国的计算机科学家,韩国科学技术院用普通相机为AR/VR复刻真实世界物理对象...

只需一个包含闪光灯的相机/摄像头(映维网 2018年12月10日)为虚拟环境捕捉和复刻逼真的现实世界对象十分复杂&#xff0c;而且耗时。所以&#xff0c;从移动设备和数码相机&#xff0c;你能想象只通过一个包含内置闪光灯的传统相机来简化这个任务吗&#xff1f;一支全球化的计算…

C和汇编混合编程---do while

环境&#xff1a;VC do while 会先执行do里面的循环体&#xff0c;执行完去执行while的条件判断&#xff0c;如果为真&#xff0c;继续执行do里面的循环体&#xff0c;如果为假&#xff0c;则结束循环 C程序&#xff1a; #include "stdio.h" int main() {int i1,su…

林子大了,什么鸟都有----.NET运用String的十八层境界

林子大了&#xff0c;什么鸟都有----.NET运用String的十八层境界 在上一文中&#xff0c;提到了一句相当常见但十分荒谬的代码&#xff1a;Request.QueryString["id"].ToString()。突然涌起一个想法&#xff0c;为什么不总结一下不同层次.Net开发者如何运用string的呢…

kotlin 查找id_Kotlin程序在矩阵中查找偶数和奇数的频率

kotlin 查找idGiven a matrix, we have to find frequencies of even and odd numbers. 给定一个矩阵&#xff0c;我们必须找到偶数和奇数的频率。 Example: 例&#xff1a; Input:matrix:[4, 5][6, 0][9, 2]Output:Even Elements Frequency : 4Odd Elements Frequency : 2在…

函数“”的返回类型不符合 CLS

林子在了啥鸟都有&#xff01;怎么出这种错误了。 转载于:https://www.cnblogs.com/nanshouyong326/archive/2007/04/23/723457.html