zoukankan      html  css  js  c++  java
  • B. Quasi Binary

    开启博客园

    记录codeforces程序

    这个题目很简单

    一个数能被最少的只包含0 ,1的数字和

    如:9 = 1+1+1+1+1+1+1+1+1

    10 =10

    12 =11+ 1

    求得是最少个数的整数和

    对于任意的一个数,小于等于这个数的最大的只有0 1序列组成的数,满足:原数位置是0,这个数位置是0,原数位置非0,这个数位置是1.

    根据这个规则,就可以求出所有的数。

    输入:

    n

    输出:

    k

    k个数

    Java程序如下:

    import java.util.Scanner;
    
    public class B538 {
        public static void run(){
            Scanner  in = new Scanner(System.in);
            String digit = in.next();
            int count = 0;
            String[] array = new String[1000]; 
            while(Integer.valueOf(digit)!=0){
                String str = "";
                for(int i = 0;i<digit.length();i++)
                    if(digit.charAt(i)!='0')
                        str = str+"1";
                    else str = str + "0" ;
                digit = (Integer.valueOf(digit) - Integer.valueOf(str))+"";
                array[count] = str;
                count++;
            }
            System.out.println(count);
            for(int i=0;i<count;i++)
                System.out.print(array[i]+" ");
        }
        public static void main(String[] args){
            run();
        }
    }

    Python程序:

    n = int(raw_input())
    9
    res=[]
    while n>0:
        s=str(n)
        now = 0
        for i in xrange(0,len(s)):
            if int(s[i])>0:
                now+ 10**(len(s)-i-1)
        res.append(now)
        n-=now
    print len(res)
    for i in res:
        print i,
  • 相关阅读:
    Flink--Window apply
    Flink--time-window 的高级用法
    Flink的Windows
    Flink的流处理--KeyBy
    Flink的分布式缓存
    Flink的广播变量
    Flink--本地执行和集群执行
    Flink-- 数据输出Data Sinks
    存储管理-页式管理
    存储管理-覆盖技术和交换技术
  • 原文地址:https://www.cnblogs.com/bbbblog/p/4665530.html
Copyright © 2011-2022 走看看