QLU 新生赛 折纸达人(double与longlong区别)

float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;
double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。
Int64 / long long :-9,223,372,036,854,775,807~+9,223,372,036,854,775,807 共19位,
看来long long表示位数最多了

作者:搏风雨
来源:CSDN
原文:https://blog.csdn.net/bo_fengyu/article/details/37914471
版权声明:本文为博主原创文章,转载请附上博文链接!

#include<stdio.h>
#include<string.h>
int main()
{
	int j;
	double n,B=1,b=1,H=0,h=0,item,sum,i;
	char a[1000000],c[3];
	scanf("%lf",&n);
	for(i=0;i<n;i++)
	{	b=B=1;
		H=h=0;
		scanf("%lf",&item);
		getchar();
			gets(a);
			for(j=0;a[j]!='\0';j++)
			if(a[j]=='R'||a[j]=='L')
			{	h+=b;
				b*=2;
			}
			 else if(a[j]=='T'||a[j]=='B')
			{
				H+=B;
				B*=2;
			}
		gets(c);
		if(strcmp(c,"LR")==0||strcmp(c,"RL")==0)
		{
			sum=H+2;
		}
		else sum=h+2;
		printf("%.0f\n",sum);//结果也可以是2(最后纸的厚度页码)次方。
	}
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43813373/article/details/86596669