博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
轻院1089 阶乘的最高位
阅读量:6237 次
发布时间:2019-06-22

本文共 563 字,大约阅读时间需要 1 分钟。

Description

输入一个正整数n。输出n!的最高位上的数字。

Input

输入一个正整数n(n不超过1000)。

Output

输出n!的最高位上的数字。

Sample Input

1000

Sample Output

4

HINT

注意double类型溢出问题。

Source

题意概括:输出一个小于或等于1000的数的阶乘

解题思路:

1:因为数非常大,因此要考虑类型溢出的问题。

2:因为是求最高位,所以可以通过除以1000抛掉后面几位,避免类型溢出

错误原因:无,一次通过

经验总结:无。

我的AC代码:

#include<stdio.h>
#include<math.h>
int main(void)
{
 int n, i,m, t;
 double sum = 1.0;
 scanf("%d", &n);
 for(i = 1; i <= n; i ++)
 {
  sum *= i;
  if(sum >1000000000)
  {
   sum/= 1000;
  }
  
 }
 m =(int)log10(sum);
 t = sum/(pow(10, m));
 printf("%d\n", t);
 
 return 0;
}

转载于:https://www.cnblogs.com/moon13579/p/7662922.html

你可能感兴趣的文章
TFS简介
查看>>
获取当前页面URL与服务器响应
查看>>
单例模式(Singleton)
查看>>
奇妙JS代码系列(三)一道有趣的题(创建一个长度为x数组)
查看>>
适合最新版docker自定义启动配置
查看>>
邮件客户端导入邮件通讯录地址薄
查看>>
IOS Socket 02-Socket基础知识
查看>>
echarts gauge仪表盘设置
查看>>
Milk 结构体
查看>>
[LeetCode]Reorder List
查看>>
java中异常抛出后代码还会继续执行吗
查看>>
在js中实现一个字符串的反转
查看>>
python基础--文件的操作
查看>>
hdu5425 Rikka with Tree II
查看>>
poj1785 Binary Search Heap Construction
查看>>
【三】MongoDB文档的CURD操作
查看>>
python 字典的函数
查看>>
CentOS 7 配置SVN 笔记
查看>>
使用mysql profiling功能剖析单条查询
查看>>
一键源码安装Ansible
查看>>