2341 Problem A 葉鵬學長的棉花糖

1.第二次遇到大數字。發現到了2^63次方,就爆了。乾脆就直接舉出2^62次方,大於它就直接等於它,果然ac。 


#include <stdio.h>

#define MAX 64

int main()
{
	__int64 floor;
	int  b;
	__int64 c; 
	while (~scanf("%I64d", &floor))
	{
		if (floor >= 4611686018427387904)
		{
			c = 4611686018427387904;
		}
		else
		{
			c=1;
			for (b = 0; b < MAX + 2; b++)
			{
				if (c > floor)
				{
					c/=2;
					break;
				}
				else if (c == floor)
				{
					break;
				}
				c*=2;
			}
		}
		
		printf("%I64d\n", c);
	}
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章