构造数字(贪心算法)

在一个宁静的早晨, 迪迦奥特曼突然发现了一个奇特的物体。这个物体是一个来自未知星球的超级数字计算器。这个计算器拥有强大的功能, 可以计算出任何数字的结果, 甚至可以解析出数字之间的深层次联系和规律。

随着时间的推移, 迪迦奥特曼的数字能力变得越来越强大。他不仅可以快速计算出复杂的数字结果, 还可以理解数字背后的深层含义和规律。他的这种能力让他可以在战斗中更好地应对各种挑战, 因为数字和规律往往可以揭示出敌人的弱点和突破口。

现在迪迦奥特曼有一个十进制下的 N 位正整数, 但他忘记这个数的具体数值, 只记得每一位的数码之和不超过 M, 他想知道在所有可能中, 这个数最大可能是多少。即用 f(x) 表示十进制下x 每位数码之和, 例如f(114)=1+1+4=6,,给定 N,M,求最大的N 位十进制数x,满足f(x)≤M。

输入格式

第一行包括2个正整数N,M

输出格式

输出共1行,包含1个整数,表示最终答案

样例输入

3 1

样例输出

100

答案

java 复制代码
import java.util.ArrayList;
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int x = scan.nextInt();
        int M = scan.nextInt();
        ArrayList<Integer> arr = new ArrayList<>();
        while (arr.size() != x){
            if(M>9){
                arr.add(9);
                M = M - 9;
            }else{
                arr.add(M);
                M = 0;
            }
        }
        int length = arr.size();
        for(int i = 0;i < length;i++){
            System.out.print(arr.get(i));
        }
        scan.close();
    }
}

题目来源:蓝桥杯算法双周赛

相关推荐
CoderCodingNo4 分钟前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
大闲在人14 分钟前
7. 供应链与制造过程术语:“周期时间”
算法·供应链管理·智能制造·工业工程
小熳芋17 分钟前
443. 压缩字符串-python-双指针
算法
Charlie_lll27 分钟前
力扣解题-移动零
后端·算法·leetcode
chaser&upper27 分钟前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法
weixin_4997715536 分钟前
C++中的组合模式
开发语言·c++·算法
iAkuya1 小时前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
近津薪荼1 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck1 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl
松☆1 小时前
CANN与大模型推理:在边缘端高效运行7B参数语言模型的实践指南
人工智能·算法·语言模型