2020蓝桥杯c组纸张大小
2023-12-13 13:14:06
题目名字 纸张大小
题意
给一张纸,通过不断折叠,求最终长宽,给十个数字,输入哪个数字就求哪次折叠的长宽,其实就是,每次折叠后长度的一半变为宽度,原来的宽度变成长度
思路
- 因为数字量比较小,直接列举出来每个数字对应的折叠次数
- 再用对应的折叠次数设置一个for循环,进行长宽的运算
- 要多设置一个x等于长度,以方便后面的运算
代码
#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;
}
总结
主要是想到列举出来每一个数字对应的折叠次数;还有宽度和长度互相的转化,和多设置一个数字来方便长宽之间变换的转化;然后看了其他的题解,是直接判断哪个长就为长度,另外一个为宽度,也是可以的;
文章来源:https://blog.csdn.net/CocowhoLynn/article/details/134894109
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!