保证有
#include <iostream> #include <vector> using namespace std; int main () { int n, m; cin >> n >> m; int extra = m - n; // 计算额外需要分配的数值(初始每个数为 1,总和为 n) vector<int> res (n, 1); // 初始化数组为 n 个 1 // 从第二个数开始,尽量让序列保持递增 for (int i = 1; i < n && extra> 0; ++i) { // 确保当前数至少比前一个数大 1,计算需要的增量 int need = res [i-1] + 1 - res [i]; // 实际分配的增量(不超过剩余的 extra) int add = min (need, extra); res [i] += add; extra -= add; } // 若还有剩余的数值,全部加到最后一个数上(不破坏递增性) if (extra> 0) { res.back () += extra; } // 输出结果 for (int i = 0; i < n; ++i) { cout << res [i] << (i == n-1 ? "\n" : " "); } return 0; }亲测通过
usrInput = list(map(int, input().split())) for i in range(usrInput[0] - 1): print(1, end=' ') print(usrInput[1] - usrInput[0] + 1)
#include <iostream> using namespace std; int main() { int n = 1; int m=1; int a = m / n; int b = m % n; if (a == 0) { for (int i = 0; i < n; i++) { cout << a << " "; } } else { cout << a + b << " "; for (int i = 0; i < n - 1; i++) { cout << a << " "; } } }主打一个投机倒把,就是想让脑子偷懒
n,m = map(int,input().split()) a = max(m//n,1) # 整除,并保证为正整数 for _ in range(n-1): # 前n-1个数取a print(a) print(m-(n-1)*a) # 最后一个数取剩余量感觉我没看懂题目啊,为什么我这样写不行?
#include <iostream> using namespace std; int main() { int a; long sum; cin >> a >> sum; long son = sum / a; int more = sum - (son * a); while (a > 1) { a--; if (more > 1) { cout << son + 1 << ' '; more--; } else cout << son << ' '; } cout << son + more; }
public static int getSum(int[] nums) { int sum = 0; for (int num : nums) { sum += num; } return sum; } public static int getLength(int[] nums) { return nums.length; } public static boolean judge(int[] nums,int a,int b) { if((a==getSum(nums))&&(b==getLength(nums))){ return true; }else return false; }
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); } }
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(); } }