Live Archive 6542 Hard Disk Drive

Live Archive   6542  Hard Disk Drive

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=595&page=show_problem&problem=4552


题目大意:有这么一个小常识,坑跌的硬盘生产厂家会认为像B、KB、MB、GB、TB…这些单位之间是1000进制,但其实(操作系统认为)是1024进制。这里要算一算生产厂家坑掉了你多少存储空间(差/实际总共的×100%)。

题目分析:给你的是一个硬盘的大小,那么前面的数是没用的(因为除的时候会消掉),只需要看它的单位,that is to say整个题目只有九种答案,打表输出就行了。

code:

#include<stdio.h>
int main()
{
	int i=2,t,n;
	char s[10];
	double a[9]={1,125./128};
	while(i!=9)
	{
		a[i]=a[i-1]*a[1];
		i++;
	}
	scanf("%d",&t);
	for(i=1;i<=t;i++)
	{
		scanf("%*d%s",s);
		switch(s[1])
		{
			case'B':n=0;break;
			case'K':n=1;break;
			case'M':n=2;break;
			case'G':n=3;break;
			case'T':n=4;break;
			case'P':n=5;break;
			case'E':n=6;break;
			case'Z':n=7;break;
			case'Y':n=8;break;
		}
		printf("Case #%d: %.2f%%\n",i,(1-a[n])*100);
	}
	return 0;
}
PS:整场比赛就这么一水,居然还一wrong…… 抓狂20min啊








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值