杭电2050-2059题解

杭电2050-2059题解

大一实在是太闲了, 刷的杭电OJ, 因为当时只学了C, 所有题解都是C

杭电acm2050
# include <stdio.h>
int main ()
{
	int n,x,i;
	int a[10001];
	a[1]=2;
	for (i=2;i<10001;i++)
	{
		a[i]=a[i-1]+4*i-3;
	}
    while (~scanf ("%d",&n))
    {
		while (n--)
		{
			scanf ("%d",&x);
			printf ("%d\n",a[x]);
		}
    }
    return 0;
}
杭电acm2051
# include <stdio.h>
int main ()
{
	int i,n,a[15];
	while (~scanf ("%d",&n))
	{
		i=0;
		while (n!=0)
		{
			a[i++]=n%2;
			n/=2;
		}
		while (i--)
		{
			printf ("%d",a[i]);
		}
		printf ("\n");
	}
	return 0;
}
杭电acm2052
# include <stdio.h>
void x(int i);
void y(int i,int j);
int main ()
{
	int m,n;
	while (~scanf ("%d%d",&m,&n))
	{
		x(m);
		y(m,n);
		x(m);
		printf ("\n");
	}
	return 0;
}
void x(int i)
{
	printf ("+");
	while (i--)
		printf ("-");
	printf ("+\n");
}
void y(int i,int j)
{
	int n;
	while (j--)
	{
		n=i;
		printf ("|");
		while (n--)
			printf (" ");
		printf ("|\n");
	}
}
杭电acm2053
# include <stdio.h>
int main ()
{
	int n,i,s;
	while (~scanf ("%d",&n))
	{
		s=0;
		for (i=1;i<=n;i++)
		{
			if (n%i==0)
			{
				s++;
			}
		}
		printf ("%d\n",s%2);
	}
	return 0;
}
杭电acm2055
# include <stdio.h>
int main ()
{
	int b,x,n;
	char a,s;
	while (~scanf ("%d",&n))
	{
		while (n--)
		{
			getchar ();
			scanf ("%c%d",&a,&b);
			if ('A'<=a && a<='Z')
			{
				x=a-64+b;
			}
			if ('a'<=a && a<='z')
			{
				x=96-a+b;
			}
			printf ("%d\n",x);
		}
	}
}
杭电acm2056
# include <stdio.h>
void huan(double *x,double *y);
int main ()
{
	int i;
	double x[5],y[5];
	double a,b,m,n;
	while (~scanf ("%lf%lf",&x[1],&y[1]))
	{
		for (i=2;i<5;i++)
		scanf ("%lf%lf",&x[i],&y[i]);
		huan (x+1,x+2);
		huan (y+1,y+2);
		huan (x+3,x+4);
		huan (y+3,y+4);
		if (x[1]>x[4] || x[2]<x[3] || y[1]>y[4] || y[2]<y[3])
		{
			printf ("0.00\n");
		}
		else
		{
			a=x[1]>x[3]?x[1]:x[3];
			b=x[2]<x[4]?x[2]:x[4];
			m=b-a;
			a=y[1]>y[3]?y[1]:y[3];
			b=y[2]<y[4]?y[2]:y[4];
			n=b-a;
			printf ("%.2lf\n",m*n);
		}
	}
}
void huan(double *x,double *y)
{
	double t;
	if (*x>*y)
	{
		t=*x;
		*x=*y;
		*y=t;
	}
}
杭电acm2057
# include <stdio.h>
int main (){
	__int64 a,b,c;
	while (~scanf ("%I64X%I64X",&a,&b)){
		c=a+b;
		if (c>=0){
			printf ("%I64X\n",c);
		}
		else{
			printf ("-%I64X\n",-c);
		}
	}
}

什么? 为什么缺了好几道?
还能为什么, 肯定是因为地震, 因为海啸, 因为台风.
总不能说因为我懒吧

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值