當前位置:首頁 » 編程語言 » sql小程序隨機從33個數中取6個
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql小程序隨機從33個數中取6個

發布時間: 2022-08-05 16:49:29

① 請問用java從1-33個整數中隨機抽取6個數字 且不重復 該怎麼寫

public static void main(String[] args) { int[] x = new int[33]; //創建值為1-33的整數表, 初始化 for (int i = 0; i < x.length; i++) { x[i] = i+1; } // ------------------------------------------------- for (int i = 0; i < 6; i++) { // 隨機取值6次 (你可以把6改成33. 試試看會不會出現重復值) int j = (int) (Math.random()*(33-i)); // 隨機值依次遞減1, 以保證不可能重復隨機到33這個值 System.out.println("第" + (i+1) + "個隨機數為: "+ x[j]);// 輸出隨機值(真正的隨機值為整數表x中的數) x[j] = x[33-i-1]; // 整數表x中已被隨機到的值替換為表中最後一個數, 避免以後可能隨機到 } // ------------------------------------------------- // 整個思路你可以想像成是棧堆的出棧, 隨機到的值出棧, 就不會隨機到重復值 } 有問題歡迎繼續提問, 希望能幫你解決問題!

② 求一段c語言代碼,從1到33里隨機取六個數加起來的和

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main( void )
{
int i;
int a[6];
int s=0;
srand((unsigned)time(NULL));
for(i = 0;i < 6;i++ )
{
a[i] = rand() % 33 + 1;
s+=a[i];
}
printf("The sum of %d %d %d %d %d %d is:%d\n",a[0],a[1],a[2],a[3],a[4],a[5],s);
}

至於要不重復的,可以用兩種方法:
1、生成隨機數時,檢查之前產生的數,看有沒有重復,有重復則繼續生成
2、聲明一個布爾型的tag[34]數組,分別用來表示1-33中哪個數產生過了。

③ 請問從33個數中取六個數,概率是多少不用排列順序。謝謝

不同的取法有C(33,6)=33!/(27!6!)=33*32*31*30*29*28/720=1107568
所以概率為1/1107568≈9.03*10^(-7)

④ 如何實現,在1-33之間取6個數為一組,6個數從小到大排列,且不能重復,然後把所有可能列表。

<%
Dim a,i,lp
lp = True
a = Array(1,2,3,4,5,6)
Do While lp
print a
If a(5) < 33 Then
a(5) = a(5) + 1
Else
If a(4) < 32 Then
a(4) = a(4) + 1
a(5) = a(4) + 1
Else
If a(3) < 31 Then
a(3) = a(3) + 1
a(4) = a(3) + 1
Else
If a(2) < 30 Then
a(2) = a(2) + 1
a(3) = a(2) + 1
Else
If a(1) < 29 Then
a(1) = a(1) + 1
a(2) = a(1) + 1
Else
If a(0) < 28 Then
a(0) = a(0) + 1
a(1) = a(0) + 1
Else
lp = False
End If
End If
End If
End If
End If
End If
Loop

Sub print(a)
For i = 0 To 5
response.write a(i) & ","
Next
response.write "<br>"
End Sub
%>

輸出結果很長,

sql 小程序隨機從33個數中取6個

全部放到一個列,
select top 6 * from 列名 order by newid()

1~16號同理

⑥ 急!33個數中選6個,不能重復,有多少組組合怎麼算的

=C(33,6)=33*32*31*30*29*28/(6*5*4*3*2*1)=1107568注

⑦ 從1-33中選6個數字,其數字不同,和值等於86結果N個組合。有什麼公式可以解決,如電子表格等

在Excel里,同時按Alt和F11進入宏界面,點菜單的插入,模塊,粘貼如下代碼:
Sub test()
Application.ScreenUpdating = False
Dim i, j, k, l, m, n, x As Integer
x = 1
For i = 1 To 28
For j = i + 1 To 29
For k = j + 1 To 30
For l = k + 1 To 31
For m = l + 1 To 32
For n = m + 1 To 33
If i + j + k + l + m + n = 86 Then
Cells(x, 1) = i & "," & j & "," & k & "," & l & "," & m & "," & n
x = x + 1
'If x Mod 500 = 1 Then
'If MsgBox("Continual?", vbYesNo, "Hi") = vbNo Then Exit Sub
'End If
End If
Next
Next
Next
Next
Next
Next
Application.ScreenUpdating = True
End Sub

在此界面直接按F5運行此宏,等一會,完成。

⑧ 用matlab編程:從1到33個中隨機選取6個數,從1到16隨機選取1個數字

for i = 1:6
x(i) = 33*randn();
end

x(i)中即為1到33中的隨機數,共6個。其它類推

⑨ C/C++語言 從33個數中選6個排列組合 具體答案

// xx.cpp : 定義控制台應用程序的入口點。
//

#include "stdafx.h"

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int i,n,c,j;
int a[6];//記錄數組下標
int b[33];//存所要隨機的33個數
for(i=0;i<33;i++)
b[i]=i;

srand(unsigned(time(NULL)));
a[0]=rand()%33;//賦初值
for(i=1;i<6;i++)//隨機5個不同下標的數
{
c=rand()%33;//隨機0-32 的數
for(n=0;n<i;n++)
{
j=0; //檢索位,如果存在相同值j置-1;
if(a[n]==c)j=-1;
}
if(j==-1)i=i-1;//如果存在相同值,返回上一層循環
else a[i]=c;// 不同則將新的隨機值,附給數組a
}
for(i=0;i<6;i++)
{
printf("%d ",b[a[i]]);//根據隨機的6個不同下標值,輸出
}
getchar();
}