列表

详情


NC16516. 阶乘(factorial)

描述

输入描述

输入数据共一行,一个正整数n,意义如“问题描述”。

输出描述

输出一行描述答案:

一个正整数k,表示S的末尾有k个0

示例1

输入:

10

输出:

7

说明:

  鸣谢真·dalao Tyxao

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2020-08-25 16:05:05

#include<stdio.h>
int main()
{
	long long n,x,i,sum;
	scanf("%lld",&n);
	for(i=5,sum=0;i<=n;i*=5)
		sum+=(n+1)/i*((n+1)/i-1)/2*i+(n+1)%i*((n+1)/i);
	printf("%lld\n",sum);
	return 0;
}

C++11(clang++ 3.9) 解法, 执行用时: 6ms, 内存消耗: 492K, 提交时间: 2020-02-28 20:07:09

#include<stdio.h>
int main()
{
	long long n,x,i,sum;
	scanf("%lld",&n);
	for(i=5,sum=0;i<=n;i*=5)
	sum+=(n+1)/i*((n+1)/i-1)/2*i+(n+1)%i*((n+1)/i);
	printf("%lld\n",sum);
	return 0;
}

上一题