眯一会 发表于 2012-2-3 09:03:28

求个算法,纠结了好久!

取1-10数中的随意5个数,然后判断其中3个数相加是否为10的倍数,另2个数相加如果也为10的倍数,则返回0,如果不为10的倍数,则返回其个位的值。
提取1-10的数可以重复,如可以取5,5,10,10,5;
但如果取好了5个值,不可以重复累加,如1号位的5,用过了,1号位的值就不能再这次循环中使用了。
不知道我说得明白了不,望解答,谢谢!!

48855784 发表于 2012-2-3 17:26:04

这能叫算法吗?

48855784 发表于 2012-2-3 17:52:21

本帖最后由 48855784 于 2012-2-3 17:52 编辑

新手其他高级语言不会 用易语言简单的模拟了下 希望能帮到你
.版本 2
.支持库 spec

.程序集 窗口程序集1
.程序集变量 循环次数, 整数型
.程序集变量 已经循环次数, 整数型
.程序集变量 循环数, 整数型
.程序集变量 循环值数组, 整数型, , "0"
.程序集变量 前三位计算值, 整数型
.程序集变量 二次循环, 整数型
.程序集变量 位置1, 整数型
.程序集变量 后两位计算值, 整数型

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

置随机数种子 ()
循环次数 = 5
.计次循环首 (循环次数, 已经循环次数)
    循环数 = 取随机数 (1, 10)
    加入成员 (循环值数组, 循环数)
.计次循环尾 ()
' ------上边循环取出1-10中的随机5个数字,加入到数组里边
.计次循环首 (取数组成员数 (循环值数组), 二次循环)
    .如果真 (二次循环 = 1)
      前三位计算值 = 循环值数组 [二次循环]
    .如果真结束
    前三位计算值 = 前三位计算值 + 循环值数组 [二次循环]
    .如果 (二次循环 > 3)
      跳出循环 ()
    .否则

    .如果结束

.计次循环尾 ()
' 调试输出 (前三位计算值)
' -----------------这里取出前三位的值
.计次循环首 (取数组成员数 (循环值数组), 二次循环)
    .如果真 (二次循环 = 4)
      后两位计算值 = 循环值数组 [二次循环]
    .如果真结束
    后两位计算值 = 后两位计算值 + 循环值数组 [二次循环]
    调试输出 (后两位计算值)
    .如果 (二次循环 > 5)
      跳出循环 ()
    .否则

    .如果结束

.计次循环尾 ()
调试输出 (后两位计算值)
' -----------------这里取出后三位的值
页: [1]
查看完整版本: 求个算法,纠结了好久!