吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4776|回复: 10
收起左侧

[其他转载] 一道编程题,大量数据优化+速度

 关闭 [复制链接]
莺歌燕语 发表于 2012-12-8 18:52
谁能够不使用数组,集合,链表等数据结构

快速随机不重复地输出1万亿以内的....所有数


我自己想到一个感觉上比较好的答案,答案公布的时候我会修改标题重新编辑

  大家有什么好思路也发表一下,交流下, 看看谁的办法更好更快捷


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

zchld 发表于 2012-12-8 18:56
这个是你的作业吧?

点评

太卡了- 回复错人了, 这个不是我的作业,群里大家都在讨论的一道题,都认为自己是对的  发表于 2012-12-8 19:03
嗯 只有整数  发表于 2012-12-8 19:01
SunerC 发表于 2012-12-8 18:58
只输出整数吧=,=  

点评

嗯只输出整数的  发表于 2012-12-8 19:02
1354669803 发表于 2012-12-8 19:01
百事乐 发表于 2012-12-8 19:22
还是先说说楼主的看法吧
\CPU\ 发表于 2012-12-8 19:34
计次循环首(10x10^11,i)
调试输出(i)
计次循环尾()

点评

有随机的样式哟  发表于 2012-12-8 22:26
menglv 发表于 2012-12-8 19:56
仅仅输出1万亿的数并不需要多少时间!
小明无敌 发表于 2012-12-8 19:58
菜B的易语言不敢拿出手
1002217709 发表于 2012-12-8 20:19
10万不难,十万亿也太多了吧。。。
\CPU\ 发表于 2012-12-9 19:52
本帖最后由 \CPU\ 于 2012-12-9 19:58 编辑

思路:文本型寄存变量,取随机数n,输出前判断[n]是否在寄存变量中,如果存在就返回重新取,不存在就输出n并在寄存变量里增加[n]并且输出次数加一。如果输出次数等于十亿则调试完毕。

[Visual Basic] 纯文本查看 复制代码
.版本 2

.子程序 __启动窗口_创建完毕
.局部变量 limit, 整数型
.局部变量 寄存变量, 文本型
.局部变量 n, 整数型
.局部变量 i, 整数型

置随机数种子 ()
limit = 10 × 10 ' 求次方 (10, 11)
.循环判断首 ()
n = 取随机数 (0, limit)
.如果真 (寻找文本 (寄存变量, “[” + 到文本 (n) + “]”, , 假) = -1)
输出调试文本 (n)
i = i + 1
寄存变量 = 寄存变量 + “[” + 到文本 (n) + “]”
.如果真结束

.循环判断尾 (i ≠ limit)
暂停 ()
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-9-21 17:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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