知道隨機產生1-7的函式,如何得到隨機產生1-10的函式
已知有個rand7()的函式,它可以返回1到7之間的隨機自然數,現在請讓利用這個rand7()來構造rand10()使它能 隨機地產生1~10之間的自然數。
想的結果:
1、主要是要保證各個數產生的概率一致。
2、如果rand7()已知,求rand5()就容易了。
short rand5()
{
short num;
do
{
num = rand7();
}
while ( num > 5)
return num;
}
3、解決題目的關鍵是通過rand7()的加減乘除得到一個等概率的1~N之間的數,N為>10的自然數。對於這一類題目的一般公式是: m*(rand_m()-1)+rand_m();n<m && n<=m*m。
注: rand_m() 可以生成 [1,m]的自然數, 要生成 rand_n() 即[1,n]的自然數的公式。
相關推薦
題:統計數字出現次數。 隨機生成100個數字,數字範圍從1到10,統計每個數字出現的次數並打印到控制臺。
pre 方向 system 繼續 void pub arr static 遍歷 public static void main(String[] args) { printCount(getNumList());}private static ArrayList&l
Nginx Unit 1.7 釋出,動態 Web 應用伺服器
Nginx Unit 1.7 已釋出,NGINX Unit 是一個動態的網路應用伺服器,它的設計初衷就是可執行多種程式語言的。通過 API 可以輕巧、多面化地動態配置 Unit。當工程師或操作者有需要時,可以輕鬆重構伺服器已適配特殊的應用引數。 更新內容: Chang
Apache Flume 1.7深入淺出,快速入門
汪文君Flume深入淺出實戰視訊-01-ApacheFlume的介紹.wmv 汪文君Flume深入淺出實戰視訊-02-環境搭建,快速入門,快速啟動一個Agent.wmv 汪文君Flume深入淺出實戰視訊-03-Apache Flume的配置,Avro Agent的詳細介紹.
Harbor 1.7 釋出,線上 GC、映象歷史、映象複製
Harbor 1.7 釋出了,Harbor 是由 VMware 公司中國團隊為企業使用者設計的 Registry server 開源專案,包括了許可權管理(RBAC)、LDAP、審計、管理介面、自我註冊、HA 等企業必需的功能,同時針對中國使用者的特點,設計映象複製和中文
windows jdk1.8 改為 1.7過程,及環境變數配置;
一、 安裝完成後 當然是配置環境變數: JAVA_HOME 是我們以後用到jdk所在位置的內容時為了方便,給jdk起的名字,也是java程式約定的變數名,如果沒有,當你在cmd 輸入 java javac時顯示不出內容; CLASSPATH 是我們引
初學Python,利用生成器函式,n個從1開始的階乘
寫一個生成器函式myfactorial(n),此函式用來生成n個從1開始的階乘 def myfactorial(n): s = 1 for x in range(1, n + 1): s *= x yie
myeclipse裡工程的jdk使用的1.7版本,其中java compiler最高只能選到1.6的問題(在maven工程中出現的問題) -- 記錄
在工程裡面,引入的是1.7版本的jdk: 但是在java compiler中最高只能選擇1.6版本。百度了一些大都是說ide有問題。我檢視其他工程發現改成1.7的jkd,java compiler是可以選擇1.7的。懷疑是maven工程的原因,在工程下面的一個xml配置檔
從原始陣列中,隨機新增陣列的值,使得隨機抽取的值符合傳入值
從原始陣列中,隨機新增陣列的值,使得隨機抽取的值符合傳入值 1.隨機抽取的概率跟數字大小有關,陣列數字越小,抽取的概率越大 2.返回的平均值average接近傳入的price_pro 值即可 示例 1: 輸入: good_price_list=[1,2,3,4,5,6,7,8,9,10,
java隨機100數字不重複 ,位置隨機
import java.util.Set; import java.util.TreeSet; public class Print { public static void main(String[] args) { String str = new Strin
給定一個正整數k(3≤k≤15),把所有k的方冪及所有有限個互不相等的k的方冪之和構成一個遞增的序列,例如,當k=3時,這個序列是: 1,3,4,9,10,12,13,… (該序列實際上就是:3^0,3^1,3^0+3^1,3^2,3^0+3^2,3^1+3^2,3^0+3^1+3^2,…) 請你求
只有1行,為2個正整數,用一個空格隔開: k N (k、N的含義與上述的問題描述一致,且3≤k≤15,10≤N≤1000)。 計算結果,是一個正整數(在所有的測試資料中,結果均不超過2.1*10^9)。(整數前不要有空格和其他符號)。 #include<stdio.h> int
eclipse新建的maven專案預設的JRE是1.5的,如何修改成1.8遇到的問題
eclipse新建的maven專案(我說的是專案)是不會報錯的,如果報錯,可能是其他原因(在此說一下不報錯的),但是,當你右鍵專案進入Bulid Path-->Configure Bulid Path-->Libraries下,你將看到會有錯誤提示,而且預設的JR
python :閉包,匿名函式,decorater裝飾器以及偏函式
#python閉包 封裝 提高程式碼複用 內層函式引用外層函式的變數,返回內層函式 返回函式不可以為迴圈變數 示例1: #標準線不同時,判斷學生的成績是否通過 方法1: def pass_60(val) : #標準線為60時,判斷是否通過 passli
php 採集函式,很好的php採集函式
<?php header("content-Type: text/html; charset=utf-8"); function preg_substr($start, $end, $st
QT5學習::(轉)非同步函式轉為同步函式的方法(即阻塞函式,等待非同步或回撥函式完成)
在QT中,一般推薦使用非同步函式。除了非同步函式的非阻塞特性外,QT的Signal/Slot特性在非同步函式中可以得到充分的發揮。因此,在QT中,很多API的設計都是使用非阻塞的非同步函式作為API,然後執行結果使用Signal返回。使用者執行API後使用slot函式接收反饋結果。
influxdb-1.7.2.x86_64安裝 install influxdb-1.7.2.x86_64 on RedHat & CentOS
1.下載安裝 wget http://dl.influxdata.com/influxdb/releases/influxdb-1.7.2.x86_64.rpm https://portal.influxdata.com/downloads 官方提供的下載是https改成http後下載 s
ML之DT:基於簡單迴歸問題訓練決策樹(DIY資料集+七種{1~7}深度的決策樹{依次進行10交叉驗證})
ML之DT:基於簡單迴歸問題訓練決策樹(DIY資料集+七種{1~7}深度的決策樹{依次進行10交叉驗證}) 輸出結果 設計思路 核心程式碼 for iDepth in depthList: for ixval in range(nxval)
oracle沒有sum if函式,但是有替代的decode函式
oracle 中使用group by的sum if,老是報"缺失右括號"的錯誤,其實不缺右括號,只是不支援而已。 mysql中:sum(if(t2.IS_SINK=’1‘,1,0)) as IS_
idea出現:error:java: Target level '1.7' is incompatible with source level '1.8'.解決辦法
當我們開始使用idea的時候,編譯jsp程式我們有可能出現編譯錯誤,然而我們的程式碼又沒有什麼問題。 解決方法一:我們開始的時候可以通過修改java compiler來解決這樣的問題,點選file選
知道隨機產生1-7的函式,如何得到隨機產生1-10的函式
題目:http://chaotang0281.iteye.com/blog/1179205 已知有個rand7()的函式,它可以返回1到7之間的隨機自然數,現在請讓利用這個rand7()來構造rand10()使它能 隨機地產生1~10之間的自然數。 想的結果:
演算法C++實現(有註釋):統計數字某位數的個數,用隨機函式產生100個[0,99]範圍內的隨機整數, 統計數字的個位上的數字分別為0,1,2,3,4,5,6,7,8,9的數的個數,並打印出來。
#include<iostream> #include<cstdlib>// #include <stdlib.h> void srand( unsigned seed ); //功能: 設定rand()隨機序列種子。對於給定的種子se