DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: a12315
今日帖子: 53
在线用户: 8
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 zhang_yang ★☆☆☆☆ -
盒子活跃会员
2021/5/13 12:37:00
标题:
请大神把JS代码转成Delphi代码 浏览:1420
加入我的收藏
楼主: //从数组中取出任意个数,求和为指定值的解(JavaScript) js转易
function CalSum(array, result) {
  for (var i = 1; i < 1 << array.length; i++) {
    var sum = 0;
    var temp = "";
    for (var j = 0; j < array.length; j++) {
      if ((i & 1 << j) != 0) {
        sum += array[j];
        temp += array[j] + "+"
      }
    }
    if (sum == result) {
      var t = temp.split('+') ;
    var p = [];
      for (var j = 0; j < t.length; j++) {
        if (t[j] != '') {
          p.push(t[j])
        }
      }
      console.log(p)
    }
  }
}
<pre class="prettyprint"><code class="has-numbering">var aa=[1,2,3,4,5,6,7,8,9];
var bb=10;
CalSum(aa,bb)</code></pre>
----------------------------------------------
^_^
作者:
男 keymark (嬲) ▲▲▲△△ -
普通会员
2021/5/13 13:50:55
1楼: (变量<<位数 =>变量 shl 位数)
位与(& => and)
变量+=值 => 变量:=变量+值
这个C/C++的不等于是!=,而Delphi是<>
http://blog.qdac.cc/?p=925 
对照表
你这js代码跑起来要 make点html 。算了我不会,
----------------------------------------------
[alias]  co = clone --recurse-submodules  up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
作者:
男 z_y_b_delphi (z_y_b_delphi) ★☆☆☆☆ -
普通会员
2021/5/13 15:53:31
2楼: var
  TestArr:TArray<integer>;
procedure CalSum(Arr:TArray<Integer>;Res:Integer);
var
 i,j,sum:Integer;
 temp:string;
begin
  for i:= 1 to  (1 shl Length(Arr))-1 do
  begin
    sum:=0;
    temp:='';
    for j:= 0 to Length(Arr)-1 do
    begin
      if (i and (1 shl j))<>0 then
      begin
        sum:=sum+Arr[j];
        temp:=temp+Arr[j].ToString;
      end;
    end;
    if sum=Res then
    begin
      Writeln(temp);
    end;
  end;
end;
begin
  TestArr:=[1,2,3,4,5,6,7,8,9];
  CalSum(TestArr,10);
  Readln;
end.
----------------------------------------------
-
作者:
男 tulater (tulater) ★☆☆☆☆ -
普通会员
2021/5/13 18:36:22
3楼: @z_y_b_delphi谢谢分享
----------------------------------------------
http://www.cnblogs.com/tulater/
作者:
男 zhang_yang ( ) ★☆☆☆☆ -
盒子活跃会员
2021/5/14 8:52:06
4楼: @z_y_b_delphi谢谢
----------------------------------------------
^_^
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行125毫秒 RSS