题解 UVA10212 【The Last Non-zero Digit.】
这题在学长讲完之后和看完题解之后才明白函数怎么构造。
这题构造一个$f(n)$
$f(n)$ $=$ $n$除以 $2^{a}$ $*$ $5^{b}$ ,$a$ , $b$ 分别是 $n$ 质因数分解后$2,5$的个数。
然后就暴力算一算就好了。
- #include<iostream>
- #include<cstdio>
- #include<algorithm>
- using namespace std;
- //处理出来n的质因子中,x的个数。
- int prime(int n,int x)
- {
- int res=;
- while(n) res+=n/x,n/=x;
- return res;
- }
- //f(1)到f(n)中不以5结尾的奇数的个数
- int expect_5_end_odd(int n,int x)
- {
- if(!n) return ;
- return n/+(n%>=x)+expect_5_end_odd(n/,x);
- }
- //以5结尾的数的个数。
- int expect_5_end(int n,int x)
- {
- if(!n) return ;
- return expect_5_end(n/,x)+expect_5_end_odd(n,x);
- }
- int t[][]={
- ,,,,//2^4 2 2^2 2^3 的最后一位
- ,,,,//3^4 3 3^2 3^3 的最后一位
- ,,,,//4……
- ,,,//5……
- };
- signed main()
- {
- int n,m;
- while(~scanf("%d%d",&n,&m))
- {
- m=n-m;
- int prime_2=prime(n,)-prime(m,);
- int prime_3=expect_5_end(n,)-expect_5_end(m,);
- int prime_5=prime(n,)-prime(m,);
- int prime_7=expect_5_end(n,)-expect_5_end(m,);
- int prime_9=expect_5_end(n,)-expect_5_end(m,);
- if(prime_2<prime_5){puts("");continue;}
- int res=;
- if(prime_2>prime_5) res*=t[][(prime_2-prime_5)%];
- res=res*t[][prime_3%]*t[][prime_7%]*t[][prime_9%]%;
- printf("%lld\n",res);
- }
- return ;
- }
题解 UVA10212 【The Last Non-zero Digit.】的更多相关文章
- 题解报告:hdu 1060 Leftmost Digit
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1060 问题描述 给定一个正整数N,你应该输出N ^ N的最左边的数字. 输入 输入包含多个测试用例. ...
- 题解报告:hdu 1061 Rightmost Digit(快速幂取模)
Problem Description Given a positive integer N, you should output the most right digit of N^N. Input ...
- UVA10212 【The Last Non-zero Digit.】
暴力可做!!!(十秒还不打暴力!!!)暴力算阶乘边算边取余上代码 #include<iostream> #define int long long //开long long using n ...
- LeetCode Next Greater Element III
原题链接在这里:https://leetcode.com/problems/next-greater-element-iii/description/ 题目: Given a positive 32- ...
- 【题解】Digit Tree
[题解]Digit Tree CodeForces - 716E 呵呵以为是数据结构题然后是淀粉质还行... 题目就是给你一颗有边权的树,问你有多少路径,把路径上的数字顺次写出来,是\(m\)的倍数. ...
- luoguP1118 [USACO06FEB]数字三角形`Backward Digit Su`… 题解
一上午都在做有关搜索的题目,,, 看到这题之后就直接开始爆搜 结果只有70分, 其余的点硬生生的就是那么WA了. 我的天哪~ 70分代码: #include<iostream> #incl ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- HD1060Leftmost Digit
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission( ...
- 233. Number of Digit One
题目: Given an integer n, count the total number of digit 1 appearing in all non-negative integers les ...
随机推荐
- 分布式爬虫搭建系列 之四---scrapy分布式框架
带录入SAFCDS
- 12个有趣的c语言面试题
1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets ...
- 25-从零玩转JavaWeb-抽象类
一.抽象类解决什么问题 求三角形,圆,矩形的面积 发现三个类都有共同的方法 ,所以我们可以抽出一个父类, 把他们相同的方法放到父类当中 二.什么是抽象方法 三.什么是抽象类 四.抽象类的特 ...
- PHP中file_exists()判断中文文件名无效的解决方法
php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效.本文就来解决此问题,下面我们一起来 ...
- Logos
[Logos] Logos is a component of the Theos development suite that allows method hooking code to be wr ...
- java Web 过滤器Filter详解
简介 Filter也称之为过滤器,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊 ...
- iOS与HTML5交互方法总结(修正)
摘要 看了不少别人写的博客或者论坛,关于iOS与HTML5交互方法大概主要有5种方式: 1. 利用WKWebView进行交互(系统API) 2. 利用UIWebView进行交互(系统API) 3. 苹 ...
- 通明讲JDBC(一)–认识JDBC
本章记录了jdbc的简单使用方式! 0,jdbc的作用 1,jdbc入门准备工作 2,jdbc注册驱动 3,使用jdbc对数据库CRUD 0,jdbc的作用 与数据库建立连接.发送操作数据库的语句并处 ...
- 推荐一款基于XNA的开源游戏引擎《Engine Nine》
一.前沿导读 XNA是微软基于.Net部署的下一代3D/2D游戏开发框架,其实XNA严格来说类似下一代的DirectX,当然不是说XNA会取代DirectX,但是基于XNA我们对于面向XBOX360, ...
- Jmeter接口测试-基于nodejs的to do list项目说明
一.了解测试项目 我们的测试项目叫做smile_task,简称sm_task.这是一个基于nodejs超简单的todo list. 它的主要流程就是:输入标题描述---点击创建一个任务---编辑修改任 ...