【纪中20200429】 MooBuzz

MooBuzz


题目描述

Farmer John 的奶牛们最近成为了一个简单的数字游戏“FizzBuzz”的狂热玩家。这个游戏的规则很简单:奶牛们站成一圈,依次从一开始报数,每头奶牛在轮到她的时候报一个数。如果一头奶牛将要报的数字是 3 的倍数,她应当报“Fizz”来代替这个数。如果一头奶牛将要报的数字是 5 的倍数,她应当报“Buzz”来代替这个数。如果一头奶牛将要报的数字是 15 的倍数,她应当报“FizzBuzz”来代替这个数。于是这个游戏的开始部分的记录为:
1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16
由于词汇的匮乏,奶牛们玩的 FizzBuzz 中用“Moo”代替了 Fizz、Buzz、FizzBuzz。于是奶牛版的游戏的开始部分的记录为:
1, 2, Moo, 4, Moo, Moo, 7, 8, Moo, Moo, 11, Moo, 13, 14, Moo, 16
给定 N(1≤N≤10^9),请求出这个游戏中第 N 个被报的数。

输入

输入包含一个整数 N。

输出

输出游戏中被报出的第 N 个数。

样例输入

4

样例输出

7

解题思路

这道题的话…我只能说找规律无疑了

#include
#include
using namespace std;
int n,ans,a[20]={0,1,2,4,7,8,11,13,14};
int main()
{
	freopen("moobuzz.in","r",stdin);
	freopen("moobuzz.out","w",stdout);
	cin>>n;
	ans=n/8;
	n%=8;
	if(n)
		cout<<ans*15+a[n]<<endl;
	else
		cout<<ans*15-1;
}

你可能感兴趣的:(纪中)