CodeForces

来源:互联网 发布:c语言输出99乘法表 编辑:程序博客网 时间:2024/06/09 16:51

题目大意:

给你一个数 n ,让你用一类数的和来表示它,这些数要满足条件,只由0和1组成,问你最少需要多少个这类数才能表示这个 n 。

代码:

#include<iostream>#include<stdio.h>using namespace std;int n;int a[10]={0};int m=0;int main(){    scanf("%d",&n);    while(n>0)    {        a[m]=n%10;        m++;        n=n/10;    }    m--;    int max=0;    for(int i=0;i<=m;i++)    {        if(max<a[i])max=a[i];    }    printf("%d\n",max);    for(int i=1;i<=max;i++)    {        int flag=0;        for(int j=m;j>=0;j--)        {            if(a[j]>0&&i!=1)a[j]--;            if(a[j]>0)flag=1;            if(flag==1)            {                if(a[j]==0)cout<<"0";                else cout<<"1";            }        }        cout<<" ";    }}
0 0