题1:摘苹果
【题目描述】
小白同学种植了一颗苹果树,经过他悉心的照料,苹果树终于结果了,结出了很多苹果。
现在树上有 n 个苹果,因为体力有限,小白同学每分钟只能摘 m 个苹果,而且每过一分钟就会从树上掉落 1 个苹果(不包含在所摘的 m 个苹果之中)。请问小白同学最后能摘到多少个苹果?
【输入】
一行两个整数 n,m,表示苹果的数量和小白同学每分钟能摘的苹果数量。
【输出】
一行一个整数,表示小白同学最后能摘到多少个苹果。
【输入样例1】
10 3
【输出样例1】
8
【输入样例2】
9 2
【输出样例2】
6
【数据规模及约定】
对于20%的数据,n ≤ m;
对于30%的数据,n mod (m+1) =0;
对于100%的数据,1 ≤ n,m ≤ 106
题目解析:
根据题意,每分钟减少(摘+掉)的苹果数为m+1个,可算出总共减少的时长分钟数,又因1分钟掉落1个苹果,所以用总苹果数除以每分钟减少的数可算出的总时长,也就是苹果的总掉落数,用苹果总数减去总掉落数即为实际能摘到的数量。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
cout<<n-n/(m+1);
return 0;
}
659

被折叠的 条评论
为什么被折叠?



