1604.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 41 行

TXT
41
字号


#include <stdio.h>


int main()
{
	int n, t2, t5, i, m, j;
	while( scanf( "%d", &n ) == 1 )
	{
		m = 1;t2 = 0; t5 = 0;
		
		for( i=2; i<=n; i++ )
		{
			j = i;
			while( j%2==0 )
				t2++, j/=2;
			while( j%5==0 )
				t5++, j/=5;
			m = ( m*j )%10;
		}
		
		if( t2>t5 )
		{
			t2 -= t5;
//			t2 %= 5;
//			if( t2 == 0 ) t2 =5;
			while( t2-- )
				m = ( m * 2 )% 10;
		}
		else if( t2<t5 )
		{
			m = ( m * 5  ) % 10;
		}		
		printf( "%5d -> %d\n", n, m );
	}
	return 0;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?