UVA-568-数论
题意
输入一个n,求n!最后一个不是0的数
2x5肯定是等于10的,先把所有不是2和5的数乘起来,保留最后一位
计算过程中计算出2和5的个数
因为2*5=10,而且2的个数比5的个数多,所以最后只要把剩下的2乘进去,保留最后一位
#include<iostream>
#include <stdio.h>
#include <memory.h>
using namespace std; int main()
{
freopen("d:\\1.txt", "r", stdin);
int n;
while (cin >> n)
{
int end = 1;
int n2 = 0, n5 = 0;
for(int i = 2; i <= n; i++)
{
int j = i;
while (j % 2==0)
{
j = j / 2;
n2++;
}
while (j % 5==0)
{
j = j / 5;
n5++;
}
end = (end * j) % 10;
}
for(int i = 0; i < n2 - n5; i++)
{
end = (end * 2) % 10;
}
printf("%5d -> %d\n", n, end);
}
return 0;
}
UVA-568-数论的更多相关文章
- UVA 568 Just the Facts (水)
题意: 求一个数n的阶乘,其往后数第1个不是0的数字是多少. 思路: [1,n]逐个乘,出现后缀0就过滤掉,比如12300就变成123,继续算下去.为解决爆long long问题,将其余一个数mod, ...
- UVa 1363 (数论 数列求和) Joseph's Problem
题意: 给出n, k,求 分析: 假设,则k mod (i+1) = k - (i+1)*p = k - i*p - p = k mod i - p 则对于某个区间,i∈[l, r],k/i的整数部分 ...
- uva 568(数学)
题解:从1開始乘到n,由于结果仅仅要最后一位.所以每乘完一次,仅仅要保留后5位(少了值会不准确,刚開始仅仅保留了一位.结果到15就错了,保留多了int会溢出,比方3125就会出错) 和下一个数相乘,接 ...
- UVA 568 (13.07.28)
Just the Facts The expression N!, read as `` N factorial," denotes the product of the first N ...
- UVa 568 - Just the Facts
这道题和这几段牛代码让我见识了精简与高效.好好学习! http://blog.csdn.net/lyhvoyage/article/details/9307009
- Uva 568 【大整数】
UVa568 题意:求N!(N<=10000)的最后一位非0数. 10000以内5^5 = 3125最多可以影响后5位.所以直接保存后五位就行. #include<iostream> ...
- 【数论,找规律】Uva 11526 - H(n)
原来做过的题再看还是没想出来,看来当时必然没有真正理解.这次回顾感觉理解更透彻了. 网上的题解差不多都是一个版本,而且感觉有点扯.根据n=20猜出来的? 好吧哪能根据一个就猜到那么变态的公式.其实这题 ...
- UVA.12716 GCD XOR (暴力枚举 数论GCD)
UVA.12716 GCD XOR (暴力枚举 数论GCD) 题意分析 题意比较简单,求[1,n]范围内的整数队a,b(a<=b)的个数,使得 gcd(a,b) = a XOR b. 前置技能 ...
- 数论 UVA 10780
数论题目.有关内容:整数质因数分解,N的阶乘质因数分解,整除的判断. 这道题的题意是给你两个数n.m,要求你求出n!所能整除的m^k的最大值的k是多少. 由于数据范围:1<m<5000,1 ...
- 数论 UVA 10943
这是一道关于组合数和隔板法的数论题目.题目说的是选出k个不同且不大于N的数字进行相加,要求这些数字之和等于N,结果要求输出这样的数有多少组.这里可以将问题利用隔板法来转换,那么题目的叙述可以转换成:这 ...
随机推荐
- (5)subprocess模块(子进程模块)
什么是进程 一个程序运行起来了就是一个进程 但是程序本身不是进程,程序是一对代码而已 所以进程就是一个抽象的概念,就是程序运行起来的一个过程 进程和进程之间是相互独立的,互不影响 如何理解子进程和父进 ...
- 直接new一个对象出来
- mac 终端显示彩色
修改~/.bash_profile文件,在文件中加入下面两行配置. export CLICOLOR=1 export LSCOLORS=gxfxaxdxcxegedabagacad 保存文件, ...
- encode decode enumerate
format的用法 print(format('aa','>20')) print(format('aa','<20')) print(format('aa','^20')) 打印结果如下 ...
- jsp servlet 进行基于js的用户验证
写这个只是完成使用js文件参数进行用户验证的处理的jsp 版,已经写过 asp.net php nodejs 以及纯js的,现在完善jsp的 使用的技术是比较简单的就是站点应用我们的js脚本,但是是带 ...
- NOSQL之MONGODB
MongoDB 基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案,它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富, ...
- 【转】每天一个linux命令(61):wget命令
原文网址:http://www.cnblogs.com/peida/archive/2013/03/18/2965369.html Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于 ...
- v-if 与 v-show 区别
使用 v-if 时,如果在初始化渲染的时候条件为false, 那么不会做任何事情. v-if 首次局部编译不会发生,直到条件变为true. v-if 切换显示内容的消耗更高,而 v-show 在初始化 ...
- sqlserver2008设置定时任务
SQL2008 创建定时任务作业 1.打开[SQL Server Management Studio],在[对象资源管理器]列表中选择[SQL Server 代理]: --2.鼠标右击[SQL S ...
- Tomcat 8.5 无法进入Manage APP
解决的方法 1. 添加 Context http://stackoverflow.com/questions/36703856/access-tomcat-manager-app-from-diffe ...