結果
| 問題 | No.593 4進FizzBuzz | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2017-11-18 22:17:46 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 53 ms / 2,000 ms | 
| コード長 | 470 bytes | 
| コンパイル時間 | 3,472 ms | 
| コンパイル使用メモリ | 159,976 KB | 
| 実行使用メモリ | 7,188 KB | 
| 最終ジャッジ日時 | 2024-11-25 17:33:40 | 
| 合計ジャッジ時間 | 5,481 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 31 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
	string N;
	cin >> N;
	reverse(N.begin(), N.end());
	int fizz = 0, buzz = 0;
	int m3, m5;
	m3 = m5 = 1;
	for(int i = 0; i < N.length(); i++) {
		int n = N[i] - 0x30;
		fizz = (fizz + n * m3) % 3;
		buzz = (buzz + n * m5) % 5;
		m3 = (m3 * 4) % 3;
		m5 = (m5 * 4) % 5;
	}
	reverse(N.begin(), N.end());
	if(!fizz) cout << "Fizz";
	if(!buzz) cout << "Buzz";
	if(fizz && buzz) cout << N;
	cout << endl;
	return 0;
}
            
            
            
        