hdu_1452

来源:http://www.cnblogs.com/ygtzds/archive/2017/11/14/7834553.html
-Advertisement-
Play Games

Consider a positive integer X,and let S be the sum of all positive integer divisors of 2004^X. Your job is to determine S modulo 29 (the rest of the d ...


Consider a positive integer X,and let S be the sum of all positive integer divisors of 2004^X. Your job is to determine S modulo 29 (the rest of the division of S by 29).

Take X = 1 for an example. The positive integer divisors of 2004^1 are 1, 2, 3, 4, 6, 12, 167, 334, 501, 668, 1002 and 2004. Therefore S = 4704 and S modulo 29 is equal to 6.

InputThe input consists of several test cases. Each test case contains a line with the integer X (1 <= X <= 10000000).

A test case of X = 0 indicates the end of input, and should not be processed.
OutputFor each test case, in a separate line, please output the result of S modulo 29.
Sample Input

1
10000
0

Sample Output

6
10

唯一分解定理:

  一個整數A一定能被分成:A=(P1^K1)*(P2^K2)*(P3^K3).....*(Pn^Kn)的形式。其中Pn為素數。

約數和公式

  對於一個已經被分解的整數A=(P1^K1)*(P2^K2)*(P3^K3).....*(Pn^Kn),有約數和S=(1+P12+P13+.....P1k1)*.....(1+Pn2+Pn3+.....Pnkn)。

等比數列求和公式

  SUM=P1(1- P1^n)/(1-P1)=P1(P1^n  -1)/(P1-1)

S=SUM1+SUM2+......+SUMn

 對於此題ans=2^(2n+1)-1+(3^(n+1)-1)/2+(167^(n-1)-1)/166

乘法逆元:

  如果ax≡1 (mod p),且gcd(a,p)=1(a與p互質),則稱a關於模p的乘法逆元為x。

擴展歐幾裡得在這裡就不多說了。這裡說一下費馬小定理:

  假如a是整數,p為素數,則a^p-a為p的倍數。  由此可得a^p   - a=1 mod p  =>a^p=a mod p  =>a^(p-1) =1 mod p,結合逆元的定義,a*x=1 mod p。則逆元x=a^(p-2) mod p。

取模不可用除法,所以ans*乘法逆元,剩下的就是求出逆元可解。乘法逆元可由擴展歐幾裡得演算法求得,也可有費馬小定理求得。
  歐拉定理求逆元:a^(phi(m)-1);

代碼如下:
#include<iostream>
#include<cstdio>
#define LL long long
#define mod 29
using namespace std;
LL pow(LL a,LL n)
{
    LL base=a,ret=1;
    while(n)
    {
        if(n&1) ret=(ret*base)%mod;
        base=(base*base)%mod;
        n>>=1;
    }
    return ret%mod;
}
int main()
{
    
    LL T,x;
    while(~scanf("%lld",&x),x)
    {
        LL rev=pow(13,27);//逆元
        LL res=(pow(2,2*x+1)-1)*(pow(3,x+1)-1)*(pow(22,x+1)-1);
        printf("%lld\n",res*rev%mod);
    }
}

  




您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. struts2的工作原理 客戶端發送請求 經過一系列的過濾器 FilterDispatcher通過ActionMapper來決定這個REquest需要調用的Action FilterDispather交給ActionProxy 通過ConfigurationManager詢問struts.xm ...
  • 常用命令和使用方法如下: man cat 和 tac cat是正序顯示文件內容 tac是倒敘顯示文件內容 sort 對文件內容排序 uniq 忽略文件中重覆行 history 顯示輸入的歷史命令,一般保存兩千行命令 more more命令,功能類似 cat ,cat命令是整個文件的內容從上到下顯示在 ...
  • TensorFlow Serving https://tensorflow.github.io/serving/ 。 生產環境靈活、高性能機器學習模型服務系統。適合基於實際數據大規模運行,產生多個模型訓練過程。可用於開發環境、生產環境。 模型生命周期管理。模型先數據訓練,逐步產生初步模型,優化模型。 ...
  • 說說最近在開發微信小程式語音識別遇到的問題吧 最先使用微信小程式錄音控制項可以拿到silk格式,後來微信官方又支持mp3格式了 但是我們拿到這些格式以後,都還不能直接使用,做語音識別,因為目前百度的語音識別格式不支持mp3格式的 百度php語音識別介面 http://yuyin.baidu.com/d ...
  • 接上篇隨筆。繼續介紹ajax的使用。 上篇友情連接:http://www.cnblogs.com/liluning/p/7831169.html 本篇導航: Ajax響應參數 csrf 跨站請求偽造 jQuery.serialize() 上傳文件 一、Ajax響應參數 上篇最後介紹了ajax的請求參 ...
  • 1. Spring MVC執行過程 1. 客戶端的請求提交到dispatcherServlet 2. DispatcherServlet查詢一個或者多個handlermapping ,找請求的Controller 3. DispatcherServlet將請求提交給Controller, Contr ...
  • ThreadLocal的主要應用場景為按線程多實例(每個線程對應一個實例)的對象的訪問,並且這個對象很多地方都要用到。例如:同一個網站登錄用戶,每個用戶伺服器會為其開一個線程,每個線程中創建一個ThreadLocal,裡面存用戶基本信息等,在很多頁面跳轉時,會顯示用戶信息或者得到用戶的一些信息等頻繁 ...
  • java學習路線: 作為Java程式員來說,最痛苦的事情莫過於可以選擇的範圍太廣,可以讀的書太多,往往容易無所適從。我想就我自己讀過的技術書籍中挑選出來一些,按照學習的先後順序,推薦給大家,特別是那些想不斷提高自己技術水平的Java程式員們。此外,大家可以加入457036818交流群,互相分享一下關 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...