Codeforces Round #204 (Div. 2) A.Jeff and Digits

因为数字只含有5或0,如果要被90整除的话必须含有0,否则输出-1

                            如果含有0的话,就只需考虑组合的数字之和是9的倍数,只需要看最大的5的个数能否被9整数

#include <iostream>
#include <vector>

using namespace std;

int main(){
    int n;
    cin >> n;
    int numOfZero = 0, numOfFive = 0,tmp;
    for(int i = 0 ; i < n; ++ i){
        cin>>tmp;
        ( tmp == 5 ) ? (++numOfFive) : (++numOfZero);
    }
    if(numOfZero == 0) cout<<-1<<endl;
    else{
        while(numOfFive*5%9 != 0 && numOfFive-- );
        for(int i = 0 ; i < numOfFive; ++i ) cout<<5;
        if(numOfFive == 0 ) cout<<0;
        else {
            for(int i = 0; i <  numOfZero; ++ i) cout<<0;
        }
        cout<<endl;
    }
    return 0;
}

                              

原文地址:https://www.cnblogs.com/xiongqiangcs/p/3356380.html