25 lines
551 B
Dart
25 lines
551 B
Dart
|
|
|
||
|
|
import 'dart:math';
|
||
|
|
|
||
|
|
class NumberTool {
|
||
|
|
|
||
|
|
/// 生成随机数
|
||
|
|
/// @allNum: 随机数的和
|
||
|
|
/// @num: 随机数的数量
|
||
|
|
List<int> randomNum(int allNum, {int num = 10}) {
|
||
|
|
List<int> randomNumbers = [];
|
||
|
|
int remainingNum = allNum;
|
||
|
|
|
||
|
|
for (int i = 0; i < num - 1; i++) {
|
||
|
|
int randomNumber = Random().nextInt(remainingNum) + 1;
|
||
|
|
randomNumbers.add(randomNumber);
|
||
|
|
remainingNum -= randomNumber;
|
||
|
|
}
|
||
|
|
|
||
|
|
randomNumbers.add(allNum - randomNumbers.fold(0, (prev, element) => prev + element));
|
||
|
|
|
||
|
|
return randomNumbers;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|