C++分糖果-真题红太阳幼儿园有n个小朋友,你是其中之一。保证n≥2。有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。由于你只是个平平无奇的幼儿园小朋友,
紅太陽幼兒園有n個小朋友,你是其中之一。保證n≥2。
有一天你在幼兒園的后花園里發現無窮多顆糖果,你打算拿一些糖果回去分給幼兒園的小朋友們。
由于你只是個平平無奇的幼兒園小朋友,所以你的體力有限,至多只能拿R塊糖回去。
但是拿的太少不夠分的,所以你至少要拿L塊糖回去。保證n≤L≤R。
也就是說,如果你拿了k塊糖,那么你需要保證L≤k≤R。
如果你拿了k塊糖,你將把這k塊糖放到籃子里,并要求大家按照如下方案分糖果:只要籃子里有不少于n塊糖果,幼兒園的所有n個小朋友(包括你自己)都從籃子中拿走恰好一塊糖,直到籃子里的糖數量少于n塊。此時籃子里剩余的糖果均歸你所有——這些糖果是作為你搬糖果的獎勵。
作為幼兒園高質量小朋友,你希望讓作為你搬糖果的獎勵的糖果數量(而不是你最后獲得的總糖果數量!)盡可能多;因此你需要寫一個程序,依次輸入n,L,R,并輸出出你最多能獲得多少作為你搬糖果的獎勵的糖果數量。對于所有數據,保證2≤n≤L≤R≤1000000000。
#include<iostream>
#include<cstring>
using namespace std;
? ? int main(){
? ? ?? ?int n,L,R,k; ?//定義整數型變量n、L、R、k?
? ? ? ? cin>>n>>L>>R; //輸入n,L,R?
? ? ? ? k=L/n; ? ? ? ?//定義k=L/n?
? ? ? ? R-=n*k; ? ? ? //R-=n乘以k?
? ? ? ? R=min(R,n-1); //取R區間的最小值?
? ? ? ? cout<<R<<endl;//輸出R?
?? ??? ?return 0;
?? ?}?
總結
以上是生活随笔為你收集整理的C++分糖果-真题红太阳幼儿园有n个小朋友,你是其中之一。保证n≥2。有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。由于你只是个平平无奇的幼儿园小朋友,的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于单片机火灾监测报警系统设计-毕设资料
- 下一篇: 大富翁(简易版)