构造数字(贪心算法)

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

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

现在迪迦奥特曼有一个十进制下的 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();
    }
}

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

相关推荐
淮北4942 小时前
STL学习(十一、常用的算数算法和集合算法)
c++·vscode·学习·算法
糖葫芦君2 小时前
玻尔兹曼分布与玻尔兹曼探索
人工智能·算法·机器学习
花火|7 小时前
算法训练营day37 动态规划⑤ 完全背包 518. 零钱兑换 II、 377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)
算法·动态规划
Neil今天也要学习7 小时前
永磁同步电机无速度算法--脉振方波注入法
算法
绿炮火8 小时前
【MATLAB】(二)基础知识
开发语言·算法·matlab
88号技师8 小时前
2025年6月最新SCI-灰熊脂肪增长优化算法Grizzly Bear Fat Increase-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
玄月初二丶9 小时前
28. 找出字符串中第一个匹配项的下标
c语言·开发语言·数据结构·算法
qq_427506089 小时前
JavaScript和小程序写水印的方法示例
前端·算法·微信小程序
小猪扒饭9 小时前
C基础 12_day
c语言·笔记·学习·算法
2501_924732879 小时前
光伏热斑误检率↓79%!陌讯多模态融合算法在智慧能源的落地优化
算法·目标检测·计算机视觉·能源