zoukankan      html  css  js  c++  java
  • JZOJ__Day 5:【普及模拟】权势二进制

    题目描述

    一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。
    当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。

    输入

    k组测试数据。
    第1行给出一个整数k (1<=k<=10)
    第2到k+1行每行一个整数n(1<=n<=1000000)

    输出

    输出答案占k行。
    每行为每个n的答案。

    样例输入

    1
    9

    样例输出

    9

    数据范围限制

    分析
    通过一定的运算,我们可以发现
    在这个整数的每一位数字里最大的数字就是答案

    程序:

    var
    k,n,i,j,max:longint;
    zfc:string;
    begin
        readln(k);
        for i:=1 to k do
        begin
            readln(n);
            str(n,zfc);
            max:=-1;
            for j:=1 to length(zfc) do
            if ord(zfc[j])-ord('0')>max then max:=ord(zfc[j])-ord('0');
            writeln(max);
        end;
    end.
  • 相关阅读:
    c# GDI+ 绘制矩形圆角
    ActivityManager
    PowerDesigner15 下载 数据库建模工具
    IaaS、PaaS和SaaS
    discuz 社区工具
    c# 字符串比较方法
    android adb 命令大全
    unity
    backtrack5 中文网
    aws
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500091.html
Copyright © 2011-2022 走看看