c++题目:切香肠

题目

题目描述

有 n 条香肠,每条香肠的长度相等。我们打算将这些香肠切开后全部分给 k 名客人,且要求每名客人获得一样多的香肠。请问最少需要切几刀?注意一刀只能切断一条香肠,每个客人可以接受多段香肠。

输入格式

单独一行:两个正整数n 与 k。

输出格式

单个自然数:表示最少需要切几刀。

数据范围

对于 40%的数据,1≤n,k≤50;

对于 70%的数据,1≤n,k≤5000;

对于 100%的数据,1≤n,k≤5,000,000。

样例数据

输入:

2 6

输出:

4

说明:

两根香肠六人分,每根香肠切成3段,共4刀

输入:

6 2

输出:

0

说明:

六根香肠两人分,不需要切

输入:

3 4

输出:

3

说明:

在每根香肠的1/4处切开,有三人每人得到3/4根香肠,最后一人得到三个1/4长的香肠。

 

解法

一道模拟题,代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,k;
	scanf("%d%d",&n,&k);
	if(n%k==0){
		cout<<0;
		return 0;
	}
	else if(k%n==0)
	{
		cout<<(k/n-1)*n;
	 }
	 else
	 {
	 	cout<<n;
	 }
	return 0;
}

原文地址:http://www.cnblogs.com/demc/p/16906202.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性