标签:题解 space return close 5* cin ace freopen 出错
1,MooBuzz
这题其实是道数学题。
我们先找找符合要求的数:1,2,4,7,8,11,13,14……
我们发现再往后找都是这8个数中的一个加15k如:16……19……29……
找规律发现k=n/8
ans=15*n/8+a[n%8](a[] = {14,1,2,4,7,8,11,13})
可我们发现n是8的倍数时会出错,特判一下当n%8==0时ans=15*n/8-1即可
#include <iostream> #include <cstdio> using namespace std; int n, d; int a[8] = {14, 1, 2, 4, 7, 8, 11, 13}; int main() { freopen("moobuzz.in", "r", stdin); freopen("moobuzz.out", "w", stdout); cin >> n; d = n / 8; if (n % 8) { cout << d * 15 + a[n % 8]; } else { cout << d * 15 - 1; } fclose(stdin); fclose(stdout); return 0; }
持续更新ing
标签:题解 space return close 5* cin ace freopen 出错
原文地址:https://www.cnblogs.com/zcr-blog/p/12040605.html