永发信息网

用PHP程序计算 1到50任意6个数相的和等于100

答案:1  悬赏:30  手机版
解决时间 2021-04-03 23:10
用PHP程序计算 1到50任意6个数相的和等于100
最佳答案
注意,如果是7个数字,那么运行时间可能很长,5位需要22s左右,6位约110s,依次*50

function getTime() {
   list($msec, $sec) = explode(' ', microtime());
   return round($sec * 1000, 4) + $msec;
}

$start_time = getTime();

$min = 1;  // 最小值
$max = 50; // 最大值
$num = 5; // 多少个数字
$sum = 100; // 和

$rs_cnt = 0;  // 结果数
$rs_list = [];  // 结果列表
$val_list = [];
$val_list = array_pad([], $num, $min);

while (true) {
   // 递增
   for ($j = $min; $j <= $max; $j += 1) {
      $val_list[0] = $j;
      if (array_sum($val_list) === $sum) {
//       $rs_list[] = $val_list;  // 保存结果列表
         $rs_cnt += 1;
      }
   }
   // 进位
   for ($k = 0; $k < $num - 1; $k += 1) {
      if ($val_list[$k] >= $max) {
         $val_list[$k] = $min;
         $val_list[$k + 1] += 1;
      }
   }
   // 当最高位达到max 退出
   if ($val_list[$num - 1] > $max) {
      break;
   }
}

$end_time = getTime();
//var_dump($rs_list);
var_dump($rs_cnt);

echo $end_time - $start_time, 'ms';
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
吃了绿豆糖水,可以吃西瓜吗。?请大师来解说
焦作道一网络和青峰网络哪个公司比较好~公司
五年级上册的算式方法0.27+0.27ⅹ0.37+0.27ⅹ
“如果能保持生态瓶中的生态平衡,即使把瓶口
SAT写作的论点论据如何选择
中央电视台新闻频道支持人欧阳夏丹有几个子女
北京户口孩子,在外地上完小学,如何回京读中学
从塘厦到布吉多少公里?
要是四十多岁的男领导和年轻女的握手时,明显
如图,已知△ABD≌△DCA,A和D,C和B分别是对
十个天字和月亮打成语
R11手机怎么区分行货
宁陵县实验中学怎么样?
polo怎么念?
“忧郁”“伤感”,英文怎么说?
推荐资讯
刚认识一个月的女友交学费还差5000块,没直接
一只猪在回答问题的时候他会怎么做
gta4优化真的很差么
当你用手将食物放入嘴里时,上臂的肌肉肱二头
人们用________为单位来表示声音的强弱,____
爸爸53在外面有女人,那个女人45,谁养谁??
沈阳港联房地产开发商靠不靠谱,他在沈阳苏家
老元吉是假的吗?还是真有其人其事?
小学生家长通知书评语,小学的家长通知书里的
公元一九六六年农历三月十二日即公历日期请问
与爱有关的名句和古诗,带有"潇潇"两字的古诗
人物性格的名句,关于人物性格形象的诗句名言
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?