154.c

来自「平时acm训练时ac的源代码」· C语言 代码 · 共 115 行

C
115
字号
/*
154. Factorial 
Accepted 83 ms 114 kb 
*/

#include <stdio.h>

int main()
{
	long Q;
	scanf("%ld", &Q);
	if (0==Q)
		printf("1");
	else
	{
		if (Q>=61035155)
		{
			if (61035155==(Q%61035156))
			{
				Q = -1;
			}
			Q = Q-(Q/61035156);
		}
		if (Q>=12207030)
		{
			if (12207030==(Q%12207031))
			{
				Q = -1;
			}
			Q = Q-(Q/12207031);
		}
		if (Q>=2441405)
		{
			if (2441405==(Q%2441406))
			{
				Q = -1;
			}
			Q = Q-(Q/2441406);
		}
		if (Q>=488280)
		{
			if (488280==Q%488281)
			{
				Q = -1;
			}
			Q = Q-(Q/488281);
		}
		if (Q>=97655)
		{
			if (97655==Q%97656)
			{
				Q = -1;
			}
			Q = Q-(Q/97656);
		}
		if (Q>=19530)
		{
			if (19530==Q%19531)
			{
				Q = -1;
			}
			Q = Q-(Q/19531);
		}
		if (Q>=3905)
		{
			if (3905==Q%3906)
			{
				Q = -1;
			}
			Q = Q-(Q/3906);
		}
		if (Q>=780)
		{
			if (780==Q%781)
			{
				Q = -1;
			}
			Q = Q-(Q/781);
		}
		if (Q>=155)
		{
			if (155==Q%156)
			{
				Q = -1;
			}
			Q = Q-(Q/156);
		}
		if (Q>=30)
		{
			if (30==Q%31)
			{
				Q = -1;
			}
			Q = Q-(Q/31);
		}
		if (Q>=5)
		{
			if (5==Q%6)
			{
				Q = -1;
			}
			Q = Q-(Q/6);
		}
		if (Q>0)
		{
			printf("%ld", Q*5);
		}
		else
		{
			printf("No solution");
		}
	}
}

⌨️ 快捷键说明

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