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!
很基础的一道编程题,考察答题者是不是动手写过代码