作者superlubu (劲过吕布)
看板java
标题Re: [问题] 1-42取出6+1个数字
时间Wed Jul 12 21:45:38 2006
※ 引述《PTTFHK ()》之铭言:
: 请教各位
: 从1-42当中乱数取出六个号码+一个特别号 程式怎麽写呢?
: 我写了以下这些 已经弄了 「不要把0算进来」还有「检查号码是否重复」
: 但是还是会有重复的情形发生 不知道哪位朋友可以告诉我哪里出错了呢 感恩
: public class lotto
: {
: public static void main(String [] args)
: {
: int array[]=new int[7];
: int t;
: //开始
: for(t=0 ; t<7 ; t++){
: double random=Math.random();
: int n=(int)(random*42+1);
: int u,v;
: for(u=1;u<7;u++){
: for(v=0;v<u;v++){
: if(array[u]!=array[v]){
: array[u]=n;
根据你的程式, array[0] 是根本不可能会 assign 到数值的
有的只有当它 initialize 时本来就在的数值。
你这三个 loop 是完全乱掉了。
以下是最简陋的 Pseudocode
1. for t in (0, 6) step 1 do
2. n = random (1..42)
3. for u in (0, t-1) step 1 do
4. if (array[u] == n) goto line 2
5. end for u
6. array[t] = n
7. end for t
8. display array
--
《为了要得到真相,就要向原 PO 伸图》
那就是伸图魔人的没图没真相原则,那时我们坚信那就是逼逼死的真实
靠么,图咧?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.103.134.181