社区讨论

呵呵

P5739【深基7.例7】计算阶乘参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lpndu74e
此快照首次捕获于
2023/12/02 09:36
2 年前
此快照最后确认于
2023/12/02 12:05
2 年前
查看原帖
CPP
#include <stdio.h>
void print_fac(int n) {
	int cnt = 0, five = 0, two = 0;
	long long res = 1;
	for (int i = 2; i <= n; i++) {
		int j = i;
		for (; j % 10 == 0; j /= 10) cnt++;
		for (; j % 5 == 0; j /= 5) five++;
		for (; j % 2 == 0; j /= 2) two++;
		res *= j;
	}
	res = res << (two - five);
	printf("%lld", res);
	for (int i = 1; i <= cnt + five; i++)
		printf("0");
	printf("\n");
}
int n;
int main()
{
scanf("%d",&n);
	print_fac(n);
}

回复

4 条回复,欢迎继续交流。

正在加载回复...