王道复试机试(1)

来自于王道机试指南视频记录
1.设N是一个四位数,它的九倍恰好是他的反序数(1234->4321),求N的值是多少。

#include<iostream>
#include<cmath>
using namespace std;
int adverse(int n)
{
	int temp=0;
	int sum=0;
	while(n)
	{
		temp=n%10; //倒输出
		sum=sum*10+temp;
		n=n/10; 
	}
	return sum;
}
int main()
{
	for(int i=1000;i<10000;i++)
	{
		if(i*9==adverse(i))
			cout<<i<<'\t';
	} 
	return 0;
}

在这里插入图片描述
2.打印所有不超过256,其平方具有对称性质的数,如2和11就是这样的数,22=4,,1111=121;

#include<iostream>
#include<cmath>
using namespace std;
int adverse(int n)
{
	int temp=0;
	int sum=0;
	while(n)
	{
		temp=n%10; //倒输出
		sum=sum*10+temp;
		n=n/10; 
	}
	return sum;
}
int main()
{
	for(int i=0;i<256;i++)
	{
		if(i*i==adverse(i*i))
			cout<<i<<" ";
	} 
	return 0;
}

在这里插入图片描述
3.A+B问题,如果不输入数字时则停止计算

#include<iostream>
#include<cstdio> 
using namespace std;
int main()
{
	int a,b;
	while(scanf("%d%d",&a,&b)!= EOF) //end of file
	{
		printf("%d\n",a+b);
	}
	return 0;
}

4.日期问题

  • 输入年月日,输出是今年的第几天。
    思路:①分两种年②一直累加到当月,再加上当月所剩天数。
#include<iostream>
#include<cstdio> 
using namespace std;
int daytab[2][13]=
{
	{0,31,28,31,30,31,30,31,31,30,31,30,31},
	{0,31,29,31,30,31,30,31,31,30,31,30,31} //闰年 
};
bool isyear(int year)
{
	if(year%4==0 && year%100!=0 || year%400==0)
	{
		return true; //1 
	}
	else
	{
		return false; //0 
	}
}
int main()
{
	int year,month,day;
	while(scanf("%d%d%d",&year,&month,&day)!=EOF)
	{
		int number= 0;
		int row = isyear(year);
		for(int i=0; i<month; ++i)
		{
			number+=daytab[row][i];
		}
		number+=day;
		cout<<number<<endl;
	}
	return 0;
} 

在这里插入图片描述

  • 给出年份m,和年份中的第n天,求是m年的第几月几日。
#include<iostream>
#include<cstdio>
using namespace std;
int daytab[2][13]=
{
	{0,31,28,31,30,31,30,31,31,30,31,30,31},
	{0,31,29,31,30,31,30,31,31,30,31,30,31} 
};
bool isyear(int year)
{
	if(year%4==0 && year%100!=0 || year%400==0)
	{
		return true; //1 
	}
	else
	{
		return false; //0 
	}
}
int main()
{
	int year,month,day;
	int number;
	while(scanf("%d %d",&year,&number)!=EOF)
	{
		month=0;
		int row=isyear(year);
		while( number > daytab[row][month])
		{
			number-=daytab[row][month];
			month++;
		}
		day=number;
		printf("%04d-%02d-%02d\n",year,month,day); //缺位补0
	} 
	return 0;
} 

在这里插入图片描述
5.手机键盘问题
思路:用arc2码与keytab的数值比较,如果差值相同则为同一键盘。
如 ac在同一个键盘 3 - 1 = 2 ‘c’ - ‘a’ = 2
如 ad在不同键盘 1 - 1 = 0 ‘d’ - ‘a’ = 3

#include<iostream>
#include<cstdio>
using namespace std;
int keytab[26]=
{
	1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,
	1,2,3,4,1,2,3,1,2,3,4
};
int main()
{
	string str;
	while(cin>>str)
	{
		int time=0;
		for(int i=0 ; i<str.size() ;i++)
		{
			time += keytab[str[i]-'a']; //按字母本来需要的次数 
			if(i>0&&str[i]-str[i-1] == keytab[str[i]-'a']-keytab[str[i-1]-'a'])
				time+=2; //判断为同一个键盘上需要等待2s,不在统一键盘则无等待时间 
		}
		cout<<time<<endl;
	}
	return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 王道考研机试指南pdf是考研机试备考中的一本非常常用的参考书。它从计算机基本知识、算法和数据结构、操作系统、计算机网络、数据库系统等方面进行了全面的讲解,并附上了大量的例题和详细的解答。这本书的优点是内容翔实、系统全面,不仅覆盖了考研机试的所有科目范围,而且通过大量的例题和解答,让读者可以更好地理解和掌握机试中的知识点。在复习的过程中,读者也可以按照书中的章节,系统性地学习和巩固知识,从而提高复习效率。 此外,这本书还以考研机试的真实题目为蓝本,设计了练习题和模拟试题,让读者可以更好地了解考研机试的出题方式和难度。同时,本书的答案解析详细、清晰,读者可以针对自己的弱项进行有针对性的巩固。这本书不仅适合计算机专业的同学,也适合其他专业的学生进行参考。 总之,王道考研机试指南pdf是一本非常实用的备考参考书,通过学习这本书可以有效提高备考的效果,让考生在机试考场上更有把握。 ### 回答2: 王道考研机试指南pdf是一本内容丰富的考研机试指南电子书,对于准备参加考研机试的同学来说非常有价值。 本书从考试基础知识、数学、英语、计算机基础知识和程序设计五个部分展开,总共有44个章节。每个章节都有重点内容讲解和例题分析。其中重点讲解部分既深入浅出又充满实例,让学生能够轻松理解和掌握知识点;而例题分析部分则充满了技巧和考试注意事项,非常有助于提高考试得分。 此外,本书还包含了大量的机试真题,并针对真题进行细致的解析和分析,掌握这些真题有助于提升机试应试能力和水平。 总之,王道考研机试指南pdf是一本非常优秀的考研机试指南书籍,对于广大考生提高机试得分具有非常重要的参考意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值