USACO-MooBuzz

题目描述

Farmer John 的奶牛们最近成为了一个简单的数字游戏“FizzBuzz”的狂热玩家。这个游戏的规则很简单:奶牛们站成一圈,依次从一开始报数,每头奶牛在轮到她的时候报一个数。如果一头奶牛将要报的数字是 33 的倍数,她应当报 Fizz 来代替这个数。如果一头奶牛将要报的数字是 55 的倍数,她应当报 Buzz 来代替这个数。如果一头奶牛将要报的数字是 1515 的倍数,她应当报 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,请求出这个游戏中第 �N 个被报的数。

输入格式

输入包含一个整数 �N

输出格式

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

输入输出样例

输入 #1

4

输出 #1

7

说明/提示

关于部分分:

测试点 11 为样例。

测试点 2∼52∼5 满足 �≤106N≤106。

对于 100%100% 的数据,1≤�≤1091≤N≤109

代码如下:

#include<bits/stdc++.h> 
using namespace std;
int n,a[10]={14,1,2,4,7,8,11,13,14};
int main(){
    cin>>n;
    cout<<((n-1)/8)*15+a[n%8];
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值