牛客小白月賽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.pswp.cn/news/277400.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277400.shtml
英文地址,請注明出處:http://en.pswp.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聲明的變…