hdu-1066(大数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1066
思路:统计2的个数,如果遇到5,就抵消,最后求和加上为来得及抵消的2的个数。
参考文章:https://www.cnblogs.com/bo-tao/archive/2012/08/08/2627787.html
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char str[];
int a[],mod[]={,,,,,,,,,,,,,,,,,,,};//前20个数的阶乘的非0余数
void f(char* s)
{
int l=strlen(s),i,j,ans,tp;
if(l==)
{
cout<<mod[s[]-'']<<endl;
return ;
}
for(i=l-;i>=;i--) a[l-i-]=s[i]-'';
ans=;
for(i=l;i>;i-=!a[i-])
{
ans=(ans*mod[a[]%*+a[]])%; //统计遇到的2
tp=;
for(j=i-;j>=;j--) //去掉遇到的5
{
tp=tp*+a[j];
a[j]=tp/;
tp%=;
}
}
cout<<ans+ans%*<<endl; //加上遇到的2的个数
}
int main(void)
{
while(~scanf("%s",str))
{
f(str);
}
return ;
}
hdu-1066(大数)的更多相关文章
- HDU 1066 Last non-zero Digit in N!(数论,大数,wait)
The expression N!, read as "N factorial," denotes the product of the first N positive inte ...
- hdu 1002大数(Java)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdu 5047 大数找规律
http://acm.hdu.edu.cn/showproblem.php?pid=5047 找规律 信kuangbin,能AC #include <stdio.h> #include & ...
- hdu 5050 大数
http://acm.hdu.edu.cn/showproblem.php?pid=5050 大数模板最大公约数 信kuangbin,能AC #include <cstdio> #incl ...
- hdu 4759 大数+找规律 ***
题目意思很简单. 就是洗牌,抽出奇数和偶数,要么奇数放前面,要么偶数放前面. 总共2^N张牌. 需要问的是,给了A X B Y 问经过若干洗牌后,第A个位置是X,第B个位置是Y 是不是可能的. Ja ...
- HDU 1018 大数(求N!的位数/相加)
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- HDU 4927 大数运算
模板很重要 #include <cstdio> #include <cstring> #include <cstdlib> #include <iostrea ...
- hdu 5429(大数模板)
题意:判断是否是等比数列 a[i] * a[i] = a[i+1] * a[i-1] + 部分为0 的情况 /* 表示还没学java.... ,模板来自NK_test #include &l ...
- HDU中大数实现的题目,持续更新(JAVA实现)
HDU1002:大数加法,PE了N次 import java.util.Scanner; import java.math.*; public class Main { public static v ...
- HDU 4099 大数+Trie
Revenge of Fibonacci Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 204800/204800 K (Java/ ...
随机推荐
- Java LinkedList的实现原理
LinkedList是Java List类型的集合类的一种实现,此外,LinkedList还实现了Deque接口.本文基于Java1.8,对于LinkedList的实现原理做一下详细讲解. (Java ...
- oracle vm中的xp添加共享文件夹
接着就可以在虚拟的电脑系统里面打开我们的共享文件夹,在桌面找到”网络邻居“,双击打开 我们需要通过”添加一个网络邻居“来加载我们刚才添加的”共享文件夹“,根据向导一步步执行 然后点击”浏览 ...
- CAD2010安装说明
1. 2. 3. 4. 5. . 提供算号服务(也就是付费才能获得的注册码)... 不会的可以问的撒....
- 常用类一一基本数据类型的包装类(WrapperClass)一一Byte Short nteger Long Float Double Character Boolean
为什么需要包装类? JAVA是支持跨平台的.可以在服务器 也可以在手机上运行 基本数据类型 在栈中 效率更高 包装类 将数据类型转换成对象 在 堆中 利于操作 package cn.bjsxt.w ...
- 数据文件导入mysql时出现中文乱码问题
http://www.ynpxrz.com/n773257c2024.aspx 从shell进入mysql, mysql> show variables like ‘%char%'; +---- ...
- Python修改文件的两种方法
目录: 一.以占用内存的方式修改文件 二.以占用硬盘的方式修改文件 引言 文件修改的方法从操作方式上大致可以分为两类,一种是以占用电脑内存的方式,将文件读取到内存中修改再存回硬盘:第二种方法是分别打开 ...
- js json转对象
使用eval() 读取 for (var i=0;i< response.length; i++) { //alert(response[i].username) html=html+" ...
- Mysql count(1) group_concat 高级用法(count 过滤条件,group_concat过滤条件)
1.官方文档: count:COUNT(expr) [over_clause] https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.h ...
- EasyUI多选的获取
function deletePRE() { var rows = $('#dg').datagrid('getSelections'); var ids = []; var other_ids = ...
- Python合并列表,append()、extend()、+、+=
在实际应用中涉及到了列表合并的问题. 在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别 1.append() 向列表尾部追加一 ...