首页 > 代码库 > Codeforces A. Double Cola 题解
Codeforces A. Double Cola 题解
题目很奇怪,就是5个人排队喝可乐,喝完之后编程两个人,然后拍在队后面,然后继续喝可乐。
给出个数值,代表第几罐可乐,问会是第几个人喝到?
http://codeforces.com/problemset/problem/82/A
一个数学问题,仔细点就好了。
要熟练的知识点:
1 要熟悉解决这种递增数列,如何减去循环部分
2 要知道如何计算,求余取答案
#include <string> #include <iostream> using namespace std; void DoubleCola() { string strs[] = {"Sheldon", "Leonard", "Penny", "Rajesh", "Howard"}; int n = 0; cin>>n; int i = 1; while (n > i*5)//100 - 5 - 10 - 20 - 40 ... { n -= i*5; i <<= 1; } int a = n / i; if (n % i) a++; cout<<strs[a-1]; }
Codeforces A. Double Cola 题解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。