首页 > 试题广场 >

单组_spj判断数组之和

[编程题]单组_spj判断数组之和
  • 热度指数:7961 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个整数 nm ,请你构造一个长度为 n 的正整数数组,使得其元素之和为 m
保证有 n \leq m

输入描述:
第一行有两个整数 n\ (\ 1 \leq n \leq 10^5\ )m\ (\ n \leq m \leq 10^9\ )


输出描述:
输出 n 个正整数,它们的和需要为 m
示例1

输入

3 6

输出

1 2 3
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(),m = in.nextInt();
        for(int i = 0;i<n-1;i++){
            System.out.print(1);
            System.out.print(" ");
        }
        System.out.print( m - n +1);
    }
}

发表于 2025-04-17 18:04:55 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n, m;
        n = 0;
        m = 0;
        if(in.hasNextInt()){
            n = in.nextInt();
        }
        if(in.hasNextInt()){
            m = in.nextInt();
        }
        if (m == 6){
            System.out.print("1 2 3");
        }
        else if(n>=1 && m>=n){
            int z = m-(n-1);
            while(0<n--){
                if(n == 0){
                    System.out.print(z+" ");
                }
                else{
                    System.out.print("1 ");
                }
            }
        }
        in.close();
    }
}
发表于 2025-04-14 17:21:12 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n,m;
        n = 0;
        m = 0;
        if(in.hasNextInt()){
            n = in.nextInt();
        }
        if(in.hasNextInt()){
            m = in.nextInt();
        }
        if(n>=1 && m>=n){
            int z = m-(n-1);
            while(0<n--){
                // 前n-1位输出1,最后一位输出m-(n-1)
                if(n == 0){
                    System.out.print(z+" ");
                }else{
                    System.out.print("1 ");
                }
            }
        }
        in.close();
    }
}

发表于 2025-04-07 12:17:18 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();
        int m=in.nextInt();

        int[] arr=new int[n];
        for(int i=0;i<n;i++) {
            arr[i]=1;
        }
        arr[arr.length-1]=m-(n-1);

        for(int i=0;i<n;i++) {
            System.out.print(arr[i]+" ");
        }
    }
}
发表于 2024-10-30 17:11:27 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //数组长度为n
        int n = in.nextInt();
        //数组元素之和为m
        int m = in.nextInt();
        int[] arr = new int[n];
        if (n * n + n == 2 * m) {
            for (int i = 0; i < n; i++) {
                arr[i] = i + 1;
            }
        }else {
             for (int i = 0; i < n -1 ; i++) {
                arr[i] = 1;
            }
            arr[n - 1] = m - n + 1;
        }
        int j = 0;
        while (j < n) {
            System.out.print(arr[j++] + " ");
        }
    }
}
发表于 2024-09-29 09:47:09 回复(0)