Linux下對拍指令碼與隨機數生成器

2022-08-17 09:18:15 字數 971 閱讀 7853

新建乙個文件 check.sh 作為對拍指令碼.

#!/bin/bash

while(true)do

#死迴圈

./data > 1.in #執行資料生成器,將資料輸出到1.in

./std < 1.in >out1 #std是標準(暴力)程式

./now < 1.in >out2 #now是現在要被測的程式

if diff -w out1 out2; then #比較,-w 是忽略行末空格

echo ac #如果一樣就輸出ac

else

echo wa

cat out1 out2 #不然就輸出wa,並顯示不相同的地方

break

fi #結束if

sleep

1#如果使用srand(),隨機數是秒級別的,用sleep 1讓它延遲一秒,不至於相同的資料在一秒內跑好多遍

done #結束迴圈

view code

在命令列 data.sh 所在的目錄輸入 ./check.sh 即可執行.

如果顯示許可權不夠,則輸入 : chmod 777 ./check.sh 即可.其中777代表對所有使用者開放許可權什麼的.

#include #include 

#include

using

namespace

std;

intmain()

return0;

}//如果使用std=c++11編譯的話可以不用stdlib和time標頭檔案,改為random即可

秒級的隨機數

#include #include 

using

namespace

std;

intmain()

//必須使用std=c++11編譯

linux下真隨機數(推薦)

示例是生成兩個隨機數.

隨機資料生成與對拍

在漫長的 oi 生涯中,你肯定遇到過這些情況 這時候,我們就可以試試隨機資料生成與對拍 顧名思義,就是針對我們的需求生成隨機的資料。比如生成隨機的整數序列,生成隨機的樹,生成隨機的圖。對拍說白了就是對答案,舉個栗子 在文化課中,對於同一道填空題,我們在寫出自己的答案後,可能會找其他同學對一下答案,看...

linux產生隨機數與隨機字元

在面試的時候我們會遇到寫乙個批量建立使用者,並且隨機生成不重複密碼的指令碼,建立使用者就用迴圈就好了,但是建立隨機數來做密碼的話,就有很多方法了,比如 我們建立隨機字元 隨機數 可以用mktemp radom mktemp建立的乙個暫存檔案 radom是建立乙個隨機數 利用mktmp 建立乙個檔案,...

linux下的真隨機數發生器 產生真隨機數

在翻閱linux核心方面的書時發現了乙個獲取真隨機數的方法。linux核心將機器的物理硬體產生的雜訊等 例如發生的鍵盤敲擊,中斷次數,頻率,溫度等等 放入系統的熵池 dev random 和 dev urandom 中放的就是熵池中的部分隨機資料,dev random 裡只放入熵池中達到一定熵值的情...