吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 691|回复: 0
收起左侧

[学习记录] 关于选择课时的小算法

[复制链接]
3awen 发表于 2023-4-6 09:43
前言:
一个学习平台,有很多不同课时的课程,需要选择总和为13。
这里需要选择课程数量最少,且必须等于13课时的。(注:课程选多了,要多交费,选少了选多了都不行)
例子:
课时分布:3,4,5,3,4,6,6,2,3
总课时:13

以下为代码区:



.版本 2


.子程序 __启动窗口_创建完毕



.子程序 _按钮1_被单击
.局部变量 a, 整数型, , "0"
.局部变量 i, 整数型


a = { 3, 4, 5, 3, 4, 6, 6, 2, 3 }
所需值 = 13
.计次循环首 (取数组成员数 (a), i)
    排列 (a, i)
    .如果真 (已找到)
        跳出循环 ()
    .如果真结束


.计次循环尾 ()


.子程序 排列
.参数 a, 整数型, 数组
.参数 n, 整数型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 k, 整数型
.局部变量 临时文本, 文本型
.局部变量 结果, 整数型


.计次循环首 (到整数 (求次方 (2, 取数组成员数 (a))) - 1, i)
    k = 0
    临时文本 = “”
    j = 1
    结果 = 0
    .判断循环首 (i ≠ 0)
        .如果真 (i % 2 = 1)
            k = k + 1
            临时文本 = 临时文本 + 到文本 (a [j])
            结果 = a [j] + 结果
        .如果真结束
        i = i ÷ 2
        j = j + 1
    .判断循环尾 ()
    .如果真 (k = n)
        ' '''''这里改一下,可以打印所有满足情况
        .如果真 (结果 = 所需值)
            已找到 = 真
            调试输出 (“已找到”)
            编辑框1.加入文本 (临时文本 + “=” + 到文本 (结果) + “已找到” + #换行符)
            跳出循环 ()
        .如果真结束


    .如果真结束


.计次循环尾 ()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 00:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表