1. 程式人生 > >中體彩軟體研發筆試題

中體彩軟體研發筆試題

1,請寫出Linux系統下的常用操作命令的含義

cp:__,ls:__,rm:__

這道題目考察的是對linux系統的基本熟悉程度,linux常用的命令如下:

常被考到的有:

cp:複製檔案

ls:顯示當前目錄下的檔案

rm:刪除檔案

cd:切換目錄,cd是切換到根目錄,cd ..是切換到上一層,cd 資料夾名字是切換到該資料夾中

shutdown:關機

reboot:重啟

mkdir:建立目錄

chmod:更改檔案許可權

apt,yum,dpkg,rpm:對應了四種不同的軟體升級、安裝,如apt-get install是安裝/更新一個deb包

ifconfig:顯示乙太網卡的配置

2,有5個乒乓球,其中有3個白球(1-3號),2個黑球(4-5號),將他們排成一排,若1號白球排在排頭,5號黑球不排在結尾,有多少種排法。

這道題解法很多種,比較方便的一種演算法是,用1號排球排在排頭,其他沒有限制的所有情況數減去1號排在排頭,5號排在結尾的所有情況數。

3,在體育彩票11選5的玩法中,開5箇中獎號碼,只有投注的5個號碼和開獎號碼完全相同才能獲得最高獎項(不考慮順序),那麼,一張彩票中獎的概率是多少。

高中數學題,C(11,5)是總的情況數,中獎的情況只有一種,所以答案就是1/C(11,5)

4,給出數字1,2,2,3,4,5,請設計一個方法,輸出這6個數字的全排列,但4不能在第三位,3,5不能相連。

做法就是普通的DFS,但是需要注意的是,把判斷3,5相連以及4的位置的工作放在DFS中,而不是生成以後再取判斷,可以有效的加快效率。

void dfs(int i)
{
	if (i==6)
	{
		for (int j=0;j<6;j++) cout<<brr[j]<<' ';
		cout<<endl;
		return;
	}
	for (int j=0;j<6;j++)
	if (vis[j]==0 && (arr[j]!=4 || i!=2) && (i!=0 || arr[j]+brr[i-1]!=8))
	{
		vis[j]=1;
		brr[i]=arr[j];
		dfs(i+1);
		vis[j]=0;
	}
}

5,輸入一個字串,將這個字串反序排列並輸出,標點符號仍在最後。如You are student!反序後變成student are You!

很基礎的一道程式設計題,考察答題者是不是動手寫過程式碼