牛客小白月赛6 水题 求n!在m进制下末尾0的个数 数论

链接:https://www.nowcoder.com/acm/contest/135/C
来源:牛客网

题目描述

其中,f(1)=1;f(2)=1;Z皇后的方案数:即在Z×Z的棋盘上放置Z个皇后,使其互不攻击的方案数。

输入描述:

输入数据共一行,两个正整数x,m,意义如“题目描述”。

输出描述:

一个正整数k,表示输出结尾0 的个数或者放置皇后的方案数
示例1

输入

复制
375 16

输出

复制
14200

说明

鸣谢真·dalao  Tyxao
分析:打表题目中的公式容易得到:f(n) = f(n-1) + f(n-2) (n>=3) 因为x最大取到10^18,所以我们打表前90位就可以了
  然后判断x是否等于前九十项中一项的值,如果等于就计算x!在m进制下末尾0的个数,如果不等于输出a[x%min(13,m)+1],a数组13*13棋盘下每种皇后的个数(类似八皇后,dfs求就可以了)
  重点来看x!在m进制下末尾0的个数
  十进制下:500 = 5*10^2  五进制下: 300 = 3*5^2
  所以:m进制下:x = a*m^k,因为任意一个大于1的数都可以表示为几个质数的乘积
  所以:a*m^k = a*(p1^k1*p2^k2*...*pn^kn)^k = a*(p1^k1k*p2^k2k*...*pn^knk) = a*(p^d1*p2^d2*...*pn^dn)
  我们要求的 k = min(p1,p2,...,pn)
AC代码:
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#define ls (r<<1)
#define rs (r<<1|1)
#define debug(a) cout << #a << " " << a << endl
using namespace std;
typedef long long ll;
const ll maxn = 1e6+10;
const double eps = 1e-8;
const ll mod = 1e9 + 7;
const int inf = 0x3f3f3f3f;
const double pi = acos(-1.0);
ll f[100]={-1,1,0,0,2,10,4,40,92,352,724,2680,14200,73712,365596};
ll prime[] = {0, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
ll getcnt( ll p, ll x ) {ll res = 0;while(x) {res += x/p;x /= p;}return res;
}
int main() {ios::sync_with_stdio(0);ll a[105];a[1] = 1, a[2] = 1;for( ll i = 3; i <= 92; i ++ ) {a[i] = a[i-1] + a[i-2];}ll x, m;cin >> x >> m;bool flag = false;for( ll i = 1; i <= 92; i ++ ) {if( a[i] == x ) {flag = true;break;}}if( flag ) {map<ll,ll> mp;vector<pair<ll,ll> > e;for( ll i = 1; i <= 25; i ++ ) {while(m%prime[i]==0) {  //m中有多个相同的质数mp[prime[i]] ++;m /= prime[i];}}for( auto i : mp ) {e.push_back(make_pair(i.second,getcnt(i.first,x)));}ll k = 1e18+1;for( ll i = 0; i < e.size(); i ++ ) {k = min(k,e[i].second/e[i].first);  //因为质数可能有多个,所以求的质数还要除以质数的个数}cout << k << endl;} else {cout << f[x%min((ll)13,m+1)+1] << endl;}return 0;
}

  

转载于:https://www.cnblogs.com/l609929321/p/9529395.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos php7 apcu,centos php5.4 升级 php7

接上篇&#xff0c;edusoho需要php5.5以上版本&#xff0c;于是需要升级本地phpphp是通过yum默认安装的。以下安装参考 linkhttps://blog.csdn.net/u012569217/article/details/77506902因此先查看本地php版本php -v检查当前php的安装包yum list installed | grep php将本地php…

子类访问父类和方法覆写

子类不能直接访问父类的私有成员&#xff1b; 但是子类可以调用父类中的非私有方法来间接访问父类的私有成员。 Person类中有私有字段name,Student继承Person new Sudent().name; new Student().getName(); √ 子类拓展父类&#xff08;子类是父类的一种特殊…

面向对象笔试题练习一

1.接口只能被类实现&#xff0c;类不能继承接口&#xff0c;遵循单继承多实现原则&#xff1b; 2.静态方法中不能引用其外部的非静态成员&#xff1b; 3.实现 Runnable 接口&#xff0c;接口中有一个抽象方法 run&#xff0c;实现类中重写该方法&#xff1b; 4.public修饰的方法…

curl 升级 php,将命令行cURL转换为PHP cURL

我从来没有做过任何卷曲&#xff0c;所以需要一些帮助。我试图从例子中解决这个问题&#xff0c;但无法理解它&#xff01;我有一个curl命令&#xff0c;我可以从linux(ubuntu)命令行成功运行&#xff0c;该命令行通过api将文件放入wiki。我需要将这个curl命令合并到我正在构建…

VM-ESXI 相关常用命令(Updateing)

# ESXI计划任务路径&#xff1a;cat /var/spool/cron/crontabs/root # 获取虚拟机列表vim-cmd vmsvc/getallvms获取vm状态vim-cmd vmsvc/power.getstat [vmid]关闭虚机vim-cmd vmsvc/power.shutdown [vmid]vim-cmd vmsvc/power.off [vmid] # 强制关闭长期脚本存放路径 vi /etc/…

sql server中的go

1. 作用:向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.2. 语法:一批 Transact-SQL 语句GO如Select 1Select 2Select 3GO3. 说明:1) GO 不是 Transact-SQL 语句&#xff1b;2) 它是 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的…

java 图片缓存工具,java缓存读取图片解决方案

java缓存读取图片老师布置了任务&#xff0c;需要把数据库中的图片一缓存的形式读出&#xff0c;不要说什么数据库中路劲&#xff0c;图片整体较大&#xff0c;在给别人使用时不现实。关键代码&#xff1a;for(int i0;i<1;i){downloadDB(bi);pm[i]new paintimage(bi);}publi…

杭电Acm刷题顺序

第一阶段&#xff1a;开始入门吧&#xff01;&#xff08;15天&#xff0c;53题&#xff09; 一&#xff0e;输入输出练习&#xff08;2天&#xff0c;10题&#xff09; 1000、1089—1096、1001 二&#xff0e;简单操作&#xff1a;&#xff08;2—4天&#xff0c;12题&…

[Vue CLI 3] 源码系列之useTaobaoRegistry

通过下列方式可以安装最新版本的 Vue CLI&#xff08;注释&#xff1a;sudo 自行选择&#xff09; sudo npm install -g vue/cli然后通过下列命令创建项目&#xff1a; vue create demo这时候&#xff0c;会询问你是否使用 taobao 的 registry Your connection to the default …

python pcm,python pcm音频添加头转成Wav格式文件的方法

如下所示&#xff1a;add Head Infomation for pcm fileimport sysimport structimport os__author__ bob_hu, hewitt924gmail.com__date__ Dec 19,2011__update__ Dec 19,2011def geneHeadInfo(sampleRate,bits,sampleNum):生成头信息&#xff0c;需要采样率&#xff0c;每…

ajax 页面无刷新

<!-- 使用原生Ajax 和 $.ajax 实现局部刷新的过程 --><!-- 封装通用XMLHttpRequest对象 --><!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>创建XMLHttpRequest</title> <style&…

javascript字符串方法总结

javascript中常用的字符串方法 String 的静态方法 fromCharCode&#xff1a;使用指定的Unicode值序列创建字符串 String.fromCharCode(num1, ..., numN) fromCodePoint: 使用指定的代码点序列创建的字符串 String.fromCharCode(num1, ..., numN) **注意**: 以上两个方法都是S…

php larval开发规范,数据模型 |《 Laravel 项目开发规范 5.5》| Laravel China 社区

本文档最新版为 7.x&#xff0c;旧版本可能放弃维护&#xff0c;推荐阅读最新版&#xff01;放置位置所有的数据模型文件&#xff0c;都 必须 存放在&#xff1a;app/Models/ 文件夹中。命名空间&#xff1a;namespace App\Models;User.phpLaravel 5.1 默认安装会把 User 模型存…

课程总结

大一的我初次学习JAVA&#xff0c;尽管以前也有所了解过但是还是觉得有点难&#xff0c;这个和c语言相似但是又有很多的不同&#xff0c;比如关键字什么的&#xff0c;一个学期下来现在回望真的感觉学到的并不是很多&#xff0c;可能是我上课的时候喜欢分神吧&#xff0c;尽管在…

记录工作中遇到的问题

只要在编程&#xff0c;遇到问题是肯定的&#xff0c;不过经常性遇到弱智的问题可就不太好了。把问题记录下来&#xff0c;提醒自己 问题 主机解析异常&#xff0c;内部多个系统&#xff0c;系统的登录需要从CAS中心得到登录信息&#xff0c;如果失败会提示登录失败。今天一直跳…

php7安装详解_,PHP7 redis扩展安装详解

1、安装redis(1)下载&#xff1a;https://github.com/phpredis/phpredis/tree/php7 或下载http://pan.baidu.com/s/1i5DFrjn用samba挂载导进去(2)yum -y install m4 autoconf # 安装依赖(3)unzip phpredis-php7.zip # 解压(4)cd ./phpredis-php7 # 进入目录(5)phpize #用php…

python之_init_函数的简介

1、每个package中都必须包含一个_init_.py文件除了不需要加载模块的 它方便在外部统一调用&#xff0c;和在内部互相调用&#xff0c;它可以为空&#xff0c;当为空时&#xff0c;作用是将这个文件夹下的内容当作包执行&#xff0c;便于解释器区分执行。 2、定义类的时候&#…

22. Generate Parentheses

题目描述&#xff1a; Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n 3, a solution set is: ["((()))","(()())","(())()","()(())","()()…

php explain type等级,mysql中explain分析sql详解

Explain举例mysql> explain select * from event;—-————-——-——————————————————-| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |—-————-——-——————————————————-| 1 | SIMPL…

es6中的块级作用域

块级作用域 凡是带{}都是块级作用域&#xff0c;if(){} for(){} 对象{} 1.在块级作用域下&#xff0c;var 和function跟在window下一样&#xff0c; function有个特殊的一点&#xff0c;在块级作用域下会提前声明&#xff0c;不会提前定义 2.在块级作用域下 let和const声明的变…