【考研复试上机】Ch1 暴力求解

这篇具有很好参考价值的文章主要介绍了【考研复试上机】Ch1 暴力求解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

枚举

条件:数据量较小

模拟

图形排版

题解:文章来源地址https://www.toymoban.com/news/detail-814841.html

  • 找规律
  • 先构造,后输出。利用一个缓存数组来表示将要输出的字符阵列,然后在该数组上按照自己的需要完成排版,最后再输出图形。

日期问题

题解:

  • 预处理:再真正开始处理输入数据之前,预处理出所有月份的天数并保存。
  • 闰年:有29天,普通年分的2月只有28天。
  • 都可以转化为用该日期是今年的第几天?+第几天的日期是什么(两个逆运算)来解决问题。
//判断平年还是闰年
bool IsLeapYear(int year){
    return (year%4==0 && year%100!=0)||(year%400==0);
}
//平年闰年天数
int NumberOfYear(int year){
    if(IsLeapYear(year)){
        return 366;
    }
    else{
        return 365;
    }
}

判断日期是否合法

int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

bool check(int year,int month,int day)
{
    if(month==0||month>12) return false;
    if(day==0) return false;
    if(month!=2)
    {
        if(day>days[month]) return false;
    }
    else 
    {
        int flag = (year%100&&year%4==0||year%400==0); //能被4整除,不能被100整除,能被400整除
        if(day>28+flag) return false; //闰年的2月有29天
    }
    return true;
}

今年的第几天?

int main(){
	int year,month,day;
	while(cin>>year>>month>>day){
        int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
		int flag = 0;
		int sumDays = 0;
		
		if(year%4==0&&year%100||year%400==0) flag = 1;
		if(flag == 1) days[2]+=1;
		
		for(int i=1;i<month;i++){
			sumDays+=days[i];
		}
		sumDays+=day;
		cout<<sumDays<<endl;
	}
	return 0;
}

进制转换

P进制数x,转换为10进制数y

int y = 0, product = 1;
while(x){
    y+=(x%10)*product;
    x/=10;
    product*=p;
}

10进制数y,转换为Q进制数z

int z[40], num = 0;
do{
    z[num++] = y%Q;
    y/=Q;
}while(y); //z数组从高位z[num-1]到低位z[0]即为Q进制z

到了这里,关于【考研复试上机】Ch1 暴力求解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [保研/考研机试] KY56 数制转换 北京大学复试上机题 C++实现

    数制转换 https://www.nowcoder.com/share/jump/437195121691734210665 求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。 不同进制的表示符号为(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F)。 输入描述: 输入只有一行,包含三个

    2024年02月13日
    浏览(59)
  • [保研/考研机试] KY180 堆栈的使用 吉林大学复试上机题 C++实现

    堆栈的使用_牛客题霸_牛客网     堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。其中 push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 输入描述:     对于每组测试数据,第一行是一个正整数 n(0 n = 1

    2024年02月13日
    浏览(127)
  • [保研/考研机试] KY235 进制转换2 清华大学复试上机题 C++实现

    KY235 进制转换2 https://www.nowcoder.com/questionTerminal/ae4b3c4a968745618d65b866002bbd32 将M进制的数X转换为N进制的数输出。 输入的第一行包括两个整数:M和N(2=M,N=36)。 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。 输出X的N进制表示的数。 将M进制

    2024年02月13日
    浏览(53)
  • [保研/考研机试] KY87 鸡兔同笼 北京大学复试上机题 C++实现

    一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 每组测试数据占1行,每行一个正整数a (a 32768) 输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数

    2024年02月13日
    浏览(46)
  • [考研机试] KY20 完数VS盈数 清华大学复试上机题 C++实现

    一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 题目没有任何输入。 输出2到60之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 ......(ei为完

    2024年02月13日
    浏览(42)
  • [保研/考研机试] KY11 二叉树遍历 清华大学复试上机题 C++实现

    二叉树遍历_牛客题霸_牛客网 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。题目来自【牛客题霸】 https://www.nowcoder.com/share/jump/437195121692547007478 编一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一

    2024年02月11日
    浏览(45)
  • [保研/考研机试] KY3 约数的个数 清华大学复试上机题 C++实现

    KY3 约数的个数 https://www.nowcoder.com/share/jump/437195121691716950188 输入n个整数,依次输出每个数的约数的个数 输入的第一行为N,即数组的个数(N=1000) 接下来的1行包括N个整数,其中每个数的范围为(1=Num=1000000000) 可能有多组输入数据,对于每组输入数据, 输出N行,其中每一行对应上

    2024年02月13日
    浏览(56)
  • [保研/考研机试] KY129 简单计算器 浙江大学复试上机题 C++实现

        读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 输入描述:     测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。

    2024年02月13日
    浏览(49)
  • [保研/考研机试] KY110 Prime Number 上海交通大学复试上机题 C++实现

    Prime Number https://www.nowcoder.com/share/jump/437195121691717713466 Output the k-th prime number. 输入描述: k≤10000 输出描述: The k-th prime number. 输入: 输出:

    2024年02月13日
    浏览(42)
  • [保研/考研机试] KY102 计算表达式 上海交通大学复试上机题 C++实现

    对于一个不存在括号的表达式进行计算 输入描述: 存在多组数据,每组数据一行,表达式不存在空格 输出描述: 输出结果 ①设立运算符和运算数两个栈,,一个用来存储运算符,另一个用来存储运算数。 ②在运算符栈中放置一个特殊运算符#,其优先级最低。 ③将表达式尾部

    2024年02月13日
    浏览(108)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包