1. 面试杂谈总结
(1)微软推荐:MSDN开源网站
(2)微软公司中,偏向于使用最基本的C语言解决实际问题
(3)逻辑思维能力的重要性:寻找N个不同的测试样例,多方位多维度考察问题
2. CPU占用率保持在稳定值
#include<stdio.h>
#include<windows.h>
int main()
{
for( ; ;)
{
for(int i=0;i<9600000;i++)
;
Sleep(10);
}
return 0;
}
3. 象棋将帅问题
问题描述:假设A代表“将”,B代表“帅”,A与B限制在33的格子中移动。规定:A与B不能处在同一个纵线上,并且A与B只能横向或或者纵线移动一格,不能沿着对角线移动。
问题核心:抽象为33的几何坐标问题
方法一:
*#include<stdio.h>
int main()
{
//int i=81;
for(int i=81;i>0;i--)
{
if(i/9%3==i%9%3)
{
continue;
}
printf("A= %d,B= %d\n",i/9+1,i%9+1);
}
}
方法二:
#include<stdio.h>
struct {
unsigned char a:4;
unsigned char b:4;
}i;
int main()
{
for(i.a=1;i.a<=9;i.a++)
{
for(i.b=1;i.b<=9;i.b++)
{
if(i.a%3!=i.b%3)
{
printf("A=%d,B=%d\n",i.a,i.b);
}
}
}
}
个人感想:更偏向于方法二,便于理解,设置两个相同的3*3坐标,根据题目规则找到数字之间的逻辑关系。