纸张尺寸
题意
输出纸张长边和短边的长度
思路
- 可以先将A0、A1、A2、A3、A4、A5、A6、A7、A8、A9 的纸张尺寸依次算出来
.for循环中注意i的取值是小于等于9的- 根据题目知道纸张沿边对折,即长度变为原来的一半。
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;
}
总结
这道题可以依次举例输出,也可以用第二个方法进行计算,但需要注意的是对折后的边长要在原来的边长上减半。写这道题时没有继续写下去,也没注意题目对折长度减半的信息,再加上当时我心情比较烦躁,急于求解下一题,没有静下心来思考这道题,只写了一半就告退,刚才又回过来好好看了这题,主要还是心境的问题,太过急躁了。并且当时比赛的时间也马上到了,更没有心去写,下次注意心情的管理。