51nod 1433 0和5
9整除的话,表示各个位的数相加余9等于0。
那么90整除的话,表示各个位的数相加余9等于0,再多一个0即可。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const int N = 1010;
int a[N];
int main()
{
int n;
scanf("%d",&n);
int num_5 = 0,num_0 = 0;
for(int i = 0; i < n; i++)
{
scanf("%d",&a[i]);
if(a[i] == 5)
num_5++;
if(a[i] == 0)
num_0++;
}
if(num_0)
{
int x = num_5/9;
for(int i = 0; i < x*9; i++)
printf("5");
if(x)
{
for(int i = 0; i < num_0; i++)
printf("0");
}
else
printf("0");
}
else
printf("-1");
puts("");
return 0;
}