2020蓝桥杯c组纸张大小

题目名字 纸张大小

题目链接

题意

给一张纸,通过不断折叠,求最终长宽,给十个数字,输入哪个数字就求哪次折叠的长宽,其实就是,每次折叠后长度的一半变为宽度,原来的宽度变成长度

思路

  1. 因为数字量比较小,直接列举出来每个数字对应的折叠次数
  2. 再用对应的折叠次数设置一个for循环,进行长宽的运算
  3. 要多设置一个x等于长度,以方便后面的运算
代码
cpp 复制代码
 
 #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;
} 

总结

主要是想到列举出来每一个数字对应的折叠次数;还有宽度和长度互相的转化,和多设置一个数字来方便长宽之间变换的转化;然后看了其他的题解,是直接判断哪个长就为长度,另外一个为宽度,也是可以的;

相关推荐
仟濹29 分钟前
【C/C++】经典高精度算法 5道题 加减乘除「复习」
c语言·c++·算法
车端域控测试工程师1 小时前
Autosar网络管理测试用例 - TC003
c语言·开发语言·学习·汽车·测试用例·capl·canoe
EXtreme352 小时前
征服 C 语言文件 I/O:透视数据流、FILE* 核心机制与高效实践全指南
c语言··文件io
Bona Sun3 小时前
单片机手搓掌上游戏机(十二)—esp8266运行gameboy模拟器之编译上传
c语言·c++·单片机·游戏机
星期天25 小时前
3.2联合体和枚举enum,还有动态内存malloc,free,calloc,realloc
c语言·开发语言·算法·联合体·动态内存·初学者入门·枚举enum
自信150413057595 小时前
初学者小白复盘23之——联合与枚举
c语言·1024程序员节
秃秃秃秃哇6 小时前
C语言实现循环链表demo
linux·c语言·链表
小曹要微笑11 小时前
STM32H7系列全面解析:嵌入式性能的巅峰之作
c语言·stm32·单片机·嵌入式硬件·算法
松涛和鸣13 小时前
14、C 语言进阶:函数指针、typedef、二级指针、const 指针
c语言·开发语言·算法·排序算法·学习方法
星期天215 小时前
3.0 C语⾔内存函数:memcpy memmove memset memcmp 数据在内存中的存储:整数在内存中的存储 ⼤⼩端字节序和字节序判断
c语言·数据结构·进阶·内存函数·数据内存存储