Description

N 的阶乘写作N!表示小于等于N的所有正整数的乘积。阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了。你的任务是 找到阶乘最后面的非零位。举个例子,5!=1*2*3*4*5=120所以5!的最后面的非零位是2,7!=1*2*3*4*5*6*7=5040,所以 最后面的非零位是4。

Input

共一行,一个整数不大于4,220的整数N。

Output

共一行,输出N!最后面的非零位。

Sample Input

7

Sample Output

4

解题思路:这道题思路倒是很简单,我们首先要知道N!的最后一位非零数是怎么得到的,我开始以为它是由1~N各项逐项相乘的最后一位非零数贡献得到的,所有开始遍历的时候对每次相乘得到的结果取最后一位非零数保存继承给下一次的相乘,一直循环下去,但是很不幸的是答案错误,后来我想到了这样一种情况,假设24*25,要是按照我之前的理解,答案是4*25 = 100,也就是1,但是24*25=600,答案应该是6!!!所以为了避免出现这种进位情况的出现,我们需要保存尽量多的后几位,这里最大是4220,所以对10000求余即可,存在后导零时消去。

 #include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long int
using namespace std;
int main()
{
ll n,i;
ll ans;
ans=;
scanf("%lld",&n);
for(i=;i<=n;i++)
{
ans=ans*i;
while(ans%==)
{
ans=ans/;
}
if(ans>)
{
ans=ans%;
}
}
ans=ans%;
printf("%lld\n",ans);
return ;
}

Factorials 阶乘(思维)的更多相关文章

  1. Factorials 阶乘

    Description N的阶乘写作N!表示小于等于N的所有正整数的乘积.阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了.你的任务是找到阶乘最后面的非零位.举个例 ...

  2. SDIBT 2345 (3.2.1 Factorials 阶乘)

    Description N的阶乘写作N!表示小于等于N的所有正整数的乘积.阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了.你的任务是找到阶乘最后面的非零位.举个例 ...

  3. Factorials

    Factorials 阶乘 题目大意:给你一个数n,求出n ! 的最后一个非零位. 注释:n<=4200 想法:开始的想法是觉得这道题应该比较的有趣,因为我们知道,一个数的阶乘的最后的非零位后面 ...

  4. 九度OJ 1038:Sum of Factorials(阶乘的和) (DP、递归)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1845 解决:780 题目描述: John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, ...

  5. 洛谷 P2726 阶乘 Factorials Label:Water

    题目背景 N的阶乘写作N!,表示小于等于N的所有正整数的乘积. 题目描述 阶乘会变大得很快,如13!就必须用32位整数类型来存储,到了70!即使用浮点数也存不下了. 你的任务是找到阶乘最前面的非零位. ...

  6. 洛谷P2726 阶乘 Factorials

    题目背景 N的阶乘写作N!,表示小于等于N的所有正整数的乘积. 题目描述 阶乘会变大得很快,如13!就必须用32位整数类型来存储,到了70!即使用浮点数也存不下了. 你的任务是找到阶乘最前面的非零位. ...

  7. 51Nod 1003 阶乘后面0的数量(数学,思维题)

    1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720 ...

  8. 51Nod 1003 阶乘后面0的数量 | 思维

    题意:n的阶乘后面0的个数,如果直接算出阶乘再数0的数量一定会超时的. 因为10=2*5,所以求出5贡献的次数就行. #include "bits/stdc++.h" using ...

  9. HackerRank Extra long factorials

    传送门 今天在HackerRank上翻到一道高精度题,于是乎就写了个高精度的模板,说是模板其实就只有乘法而已. Extra long factorials Authored by vatsalchan ...

随机推荐

  1. Centos 下 mysql 安装过程

    1. 检查系统自带的Mysql,并卸载自带的版本 [root@iZ2366ycl7sZ config]# yum list installed |grep mysql mysql.x86_64 5.1 ...

  2. html中如何移除video下载按钮

    我发现部分安卓手机使用video标签播放视频的时候会自带一个下载按钮,一般产品大多都不需要这一功能,那如何屏蔽下载按钮呢?有下面两种,请一定使用第一种方式,使用css控制会有兼容性问题,建议不要使用这 ...

  3. MyEclipse部署项目时点finish点不动finish按钮灰色的

    在MyEclipse中项目的propertes中输入tomcat搜索,jdk选择你本机安装的jdk

  4. P2P借款人信用风险实时监控模型设计

    P2P借款人信用风险实时监控模型设计 P2P网络贷款(“peer-to-peer”)为中小企业和个人提供了便利的融资渠道.近年来,随着互联网金融的逐步发展,P2P网贷已成为时下炙手可热的互联网金融新模 ...

  5. Rails中重写Active Record字段属性

    系统重构或升级时偶尔会碰到需要重写某个字段的情况,例如: 1. 读取user的name字段时,实际返回name_new字段 class User < ActiveRecord::Base def ...

  6. python学习笔记(四):pandas基础

    pandas 基础 serise import pandas as pd from pandas import Series, DataFrame obj = Series([4, -7, 5, 3] ...

  7. dart 自己写一个简单的文件编码器

    // import 'dart:convert'; import 'dart:io'; main() async { var src = File('./lib/convert/source.txt' ...

  8. 20155207第二周myod以及课堂测试

    第二周myod以及课堂测试 第二周测试5 题目 1.除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main ...

  9. 【LG4587】[FJOI2016]神秘数

    [LG4587][FJOI2016]神秘数 题面 洛谷 题解 首先我们想一想暴力怎么做 对于一段区间\([l,r]\) 我们先将它之间的数升序排序 从左往右扫, 设当前我们可以表示出的数为\([1,x ...

  10. springboot 中根据数据库表生成所有表的model,mapper和xml文件

    参考文件:https://blog.csdn.net/shenmoren6/article/details/80337662?utm_source=blogxgwz1 详细信息:https://blo ...