构造数字(贪心算法)

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

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

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

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

相关推荐
2013092416275 小时前
1968年 Hart, Nilsson, Raphael 《最小成本路径启发式确定的形式基础》A* 算法深度研究报告
人工智能·算法
如何原谅奋力过但无声5 小时前
【力扣-Python-滑动窗口经典题】567.字符串的排列 | 424.替换后的最长重复字符 | 76.最小覆盖子串
算法·leetcode
玄冥剑尊6 小时前
贪心算法进阶
算法·贪心算法
玄冥剑尊6 小时前
贪心算法深化 I
算法·贪心算法
52Hz1186 小时前
力扣73.矩阵置零、54.螺旋矩阵、48.旋转图像
python·算法·leetcode·矩阵
BHXDML6 小时前
第一章:线性回归& 逻辑回归
算法·逻辑回归·线性回归
iAkuya6 小时前
(leetcode)力扣100 二叉搜索树种第K小的元素(中序遍历||记录子树的节点数)
算法·leetcode·职场和发展
Remember_9937 小时前
【LeetCode精选算法】滑动窗口专题二
java·开发语言·数据结构·算法·leetcode
Gorgous—l8 小时前
数据结构算法学习:LeetCode热题100-动态规划篇(下)(单词拆分、最长递增子序列、乘积最大子数组、分割等和子集、最长有效括号)
数据结构·学习·算法
北京地铁1号线9 小时前
2.3 相似度算法详解:Cosine Similarity 与 Euclidean Distance
算法·余弦相似度