【蓝桥杯2022年第十三届省赛真题】纸张尺寸

纸张尺寸

纸张尺寸 题目链接

题意

输出纸张长边和短边的长度

思路

  1. 可以先将A0、A1、A2、A3、A4、A5、A6、A7、A8、A9 的纸张尺寸依次算出来
    .for循环中注意i的取值是小于等于9的
  2. 根据题目知道纸张沿边对折,即长度变为原来的一半。
    3.输出x,y的结果即可
实现步骤

同思路

代码
 #include<iostream>
#include<cstring>
using namespace std;
int main(){
	string a;
	cin>>a;
	int m=1189,x=1189,n=814;
	int ans=0;
	for(int i=0;i<=9;i++)
	{
		if(a[1]=='0'){
			cout<<m<<endl<<n;
			return 0;
		}
		if(a[1]=='1'){
			ans=1;
		}
		if(a[1]=='2'){
			ans=2;
		}
		if(a[1]=='3'){
			ans=3;
		}
		if(a[1]=='4'){
			ans=4;
		}
		if(a[1]=='5'){
			ans=5;
		}
		if(a[1]=='6'){
			ans=6;
		}
		if(a[1]=='7'){
			ans=7;
		}
		if(a[1]=='8'){
			ans=8;
		}
		if(a[1]=='9'){
			ans=9;
		}
	}//x就是初始长度 
	for(int i=1;i<=ans;i++){
		m=n;
		n=x/2;
        x=m;
	}
	cout<<m<<endl<<n;
	return  0;
}

代码
 #include <stdio.h>  
int main() 
{
    int x=1189,y=841;//x为长边,y是短边
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        int k=y;//保留上一个的短边
        y=x>>1;//让短边等于上一个的长边减半
        x=k;//现在的长边等于上一个的短边
    }
    printf("%d\n%d",x,y);
    return 0;
}
 

总结

这道题可以依次举例输出,也可以用第二个方法进行计算,但需要注意的是对折后的边长要在原来的边长上减半。写这道题时没有继续写下去,也没注意题目对折长度减半的信息,再加上当时我心情比较烦躁,急于求解下一题,没有静下心来思考这道题,只写了一半就告退,刚才又回过来好好看了这题,主要还是心境的问题,太过急躁了。并且当时比赛的时间也马上到了,更没有心去写,下次注意心情的管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值