話說,要求給數 應該是隨機數 排序,並且顯示程式執行時間,時間最好能顯示小數點後幾位。哪

2022-06-09 18:51:31 字數 3976 閱讀 7107

1樓:

//#include "stdafx.h"//vc++6.0加上這一行.

#include "stdio.h"

#include "time.h"

#include "stdlib.h"

void main(void)

}//printf("%g seconds\n",(double)(clock()-starts)/clocks_per_sec);}

2樓:匿名使用者

c標準庫裡面有時間相關的庫time.h

其中有clock()函式,返回程式所用的時間,單位是cpu時鐘週期(clock tick)

所以在演算法開始前加一句:

clock_t startt = clock();

演算法結束後加兩句:

clock_t clocktime = clock() - startt;

double second = ((double)clocktime)/clocks_per_sec;

clocks_per_sec是time.h裡面定義的常數,second就是你要的消耗的時間,單位是秒

參考:http://zhidao.

和http:

「你在程式中間加上這段**就行了

#include

在你要開始計算時間的地方寫上

double begin=clock();

……你要結束計算時間的地方

double end = clock();

double time= end-begin;

這裡的time算出來是ms 要想轉化成s除以1000就可以了」

matlab中如何產生n個隨機數,和為定值m

3樓:yty隨意

1、首先在電腦中,找到並開啟matlab軟體,二項分佈隨機數的產生。

2、接著輸入二項分佈隨機數x~b(n,p),n為發生次數,p為發生概率,如下圖所示。

3、然後輸入泊松分佈,引數為p,如下圖所示。

4、接著輸入指數分佈,引數為λ,如下圖所示。

5、最後正態分佈,x~n(μ,δ^2),如下圖所示,就完成了。

4樓:匿名使用者

實現方法:首先使用rand()函式生成n個隨機數,假設此時n個隨機數的和是s,那麼將每個隨機數變為原來的m/s倍,這樣就實現n個隨機數的和是定值m的效果了。關鍵**如下:

a = rand(1,n); s = sum(a); b = a*m/s;

下面進行例項演示和詳細講解:產生9個和為定值10的隨機數。

1、開啟matlab軟體,在命令視窗輸入:a = rand(1,9),表示產生9個0~1之間的隨機數,輸出如下:

2、繼續輸入:s = sum(a);  b = a*10/s ,表示將每個隨機數變為到原來的10/sum(a)倍,此時的陣列b即為所求。輸出結果如下:

3、為了驗證一下得到的陣列b的和是否為定值10,在命令視窗輸入:sum(b),結果如下:

5樓:歇洛克

話說,如果這9個數之和為給定值,那就起碼滿足了一條方程,那就不是9個「隨機數」了。如果每個隨機數的大小範圍都相同的話,那就不一定能滿足你要求的m值了。你的問題需要再表述清楚一點。

比如說,使用者給定m和隨機數範圍,那麼函式要判斷是否存在這樣的「隨機數」列。最簡單的程式是,任意生成8個隨機數,用m減去這8個之和。

6樓:匿名使用者

說明:randperm產生1:9 9個數的隨機排列,根據你要求的和數m可以確定對映係數coe,實際上最後產生的隨機數的範圍也可以**,取決於你的m。

本程式的缺點是,m確定以後9個數是確定的,但排列順序每次不一樣而已,和恆為m。

7樓:書宬

m=300;

a=randint(1,9,[1 5]) % [1 10]為取值範圍

m*a/(sum(a))

c語言程式設計:編寫一個猜數的遊戲,系統自動產生一個隨機數,你來猜,程式給出提示,直到猜對為止。 20

8樓:匿名使用者

#include

#include

#include

int main(void)

else if (b的值太小權:\n");

}}while (b!=a);

printf("恭喜你猜對了!");

printf("這個數是:%d\n",a);

return 0;}

9樓:衝佳磊

#include

#include

int main(void)

if(x>magic)

else

}return 0;}

10樓:樂酷科技

int num;

scanf("%d",&num);

if(num>a)

else if(num數值太小\n請輸入你心中想的那個數:");continue;}

else

//迴圈裡就是這樣實現的 謝謝採納

j**a中獲得5千個不同的隨機數

11樓:匿名使用者

int random = new int[5000];

for(int i=0;i<=5000;i++)system.out.println(" 產生的隨機數為:");

for(int i=0;i

12樓:匿名使用者

因為只允許在 2--9999

直接random()*10000是不對的

應該是在一個迴圈裡,

int i = (int)(math.random()*9998)+2;

將i作為key放入map裡,當map的大小為5000時,return或break掉

13樓:匿名使用者

listlist = new arraylist();

while (list.size <5001)

}list 裡就是5000個隨機數.這段**不是在編譯器裡打的,可能有錯誤,自己做調整

14樓:地底生物

注意,問題是「不同的隨機數」,也就說在獲取到隨機數的同時需要判斷該隨機數是否已存在,產生隨機數的方法上頭已經貼出來了,至於如何判斷是否存在?

你可以這樣,**如下:

int list = new int[5000];

for(int i=0;i<5000;i++)int ran = (int)manth.round(math.random()*9998)+2;

if(list[ran]==0)

list[ran] = ran; //相應的隨機數放入到相應的下標中}

15樓:孛能束晏

看這看這裡。。。

public

static

void

main(string

args)

system.out.println(set.size());

object

obj=

set.toarray();

for(inti=

0;i<

obj.length;

i++)}

3461236下數應該是什麼

3,4,6,12,36 下一個數是216。從3 4 6 12 36可以推匯出 3x4 2 6 4x6 2 12 6x12 2 36 從而發現規律 這個數列中,前兩個數相乘再除以2就是下一個數。所以下一個數為 前兩個數12跟36的相乘再除以2,即 12x36 2 216 因此結果為 3,4,6,12,...

我想請問一下現在買彩票應該是買隨機注還是買自己選的數中獎率高?我買了三次彩票都沒有中獎,是雙色球

對自己有信心的話,還是自選吧,機選太二,簡直像刻意避開似的。至少自選你不會輕易就選3連號,4連號的。都一樣的,除非你會 要不都是小概率,並沒有多大差別 一 如何選擇辦公室裝修公司 1.方案 選擇一家辦公室裝修公司首先應該要看它提供的方案,一個好的裝修方案可以很好的體現出裝修公司的實力。比如出方案的速...

給男孩取名,姓廖,中間帶個永,後面那個字應該是什麼好聽

廖永輝,廖永貞,廖永強,廖永忠,廖永興,廖永慶,廖永華,廖永鑫,廖永康,廖永泰,廖永柱,廖永春,廖永傑,廖永安 廖永安 永遠安全 讓家人安心 廖永進 感覺怎麼樣?給男孩取名,姓廖,中間帶個永,後面那個字應該是什麼好聽 廖永兩個字五行為火土,最後一個字最好金或土或火較好 廖永翔 廖永偉 姓廖男孩,取一...