結果

問題 No.593 4進FizzBuzz
ユーザー squid
提出日時 2017-11-11 00:04:58
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 859 bytes
コンパイル時間 448 ms
コンパイル使用メモリ 56,388 KB
実行使用メモリ 22,308 KB
最終ジャッジ日時 2024-11-24 16:02:13
合計ジャッジ時間 59,031 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 10 WA * 2 TLE * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
using namespace std;

string in;
long long int bit_sum=0,bit_rest_sum=0;
bool flag_fizz=false,flag_buzz=false;

int ruijo(int x, int n){
    int ret=x;
    if(n==0){
        //cout<<1*x<<endl;
        return 1*x;
    }
    for(int i=0; i<n; i++){
        ret=(ret*4)%5;
    }
    //cout<<ret<<endl;
    return ret;
}

int main(){
    cin>>in;

    for(int i=0; i<in.size(); i++){
        bit_sum+=in[i]-'0';
    }
    flag_fizz=bit_sum%3==0;

    for(int i=0; i<in.size();i++){
        bit_rest_sum+=ruijo(in[i]-'0',i)*(in[i]-'0');
    }
    flag_buzz=bit_rest_sum%5==0;
    //cout<<bit_rest_sum<<endl;

    if(flag_fizz&&flag_buzz){
        cout<<"FizzBuzz"<<endl;
    }
    else if(flag_fizz){
        cout<<"Fizz"<<endl;
    }
    else if(flag_buzz){
        cout<<"Buzz"<<endl;
    }else{
        cout<<in<<endl;
    }

    return 0;
}
0