hdu 1212(大數取餘)
題目大意:輸入兩個數a, b, 要求輸出a mod b(a的長度小於1000, b <= 100000)(a 是長度, b是大小)
分析:直接程式碼,模板!模板!
ac程式碼
#include<cstdio> #include<string.h> #include<iostream> using namespace std; const int M = 100000; char a[M]; int main() { int b, rem; while(scanf("%s %d", a, &b) != EOF) { rem = 0; int len = strlen(a); for(int i = 0; i < len; i++) { rem = rem * 10; rem = rem + (a[i] - '0'); rem = rem % b; } printf("%d\n", rem); } return 0; }
相關推薦
hdu 1212(大數取餘)
題目大意:輸入兩個數a, b, 要求輸出a mod b(a的長度小於1000, b <= 100000)(a 是長度, b是大小) 分析:直接程式碼,模板!模板! ac程式碼 #incl
Big Number(大數取餘)
Description As we know, Big Number is always troublesome. But it’s really important in our ACM. And today, your task is to write a
(大數取模)Big Number hdu1212
cep bmi asn each one sed alt ner 100% Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota
求逆元求組合公式(有取餘)
https://blog.csdn.net/weixin_40149887/article/details/79861045 求解方法: 先算出n!%p、m!%p、(n-m)!%p,用fac[i]表示 i!%p 的值 因為組合數取模是(n!)/(m!(n-m)!)%p,因此需要計
快速積 快速冪(以及取餘)運算C/C++
#include <bits/stdc++.h> using namespace std; //簡單來說就是把b當成2進位制形式,然後累加; // 2*7=2*(1*2^0+1*2^1+1*2^2)=2*1*2^0+2*1*2^1+2*1*2^2; long l
HDU 1097 快速冪取餘(C語言)
A hard puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 39772 Accepted
hdu1212 Big Number &第六屆山東省賽Single Round Math (同餘定理,大數取模)
題目大意:每次輸入兩個數,第一個是高精度,第二個數小於100000;求 a mod b 根據同餘定理: (a+b)% c = (a%c+ b%c)%c (a*b)%c = ( a%c* b%c)%
hdu-1877(大數+進制轉換)
ble length names += tin bsp eve a+b 情況 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1877 思路:註意考慮0,0的情況。 #include<iostream> #incl
【51nod 1103】【N的倍數】(字首和取餘)
題目: 一個長度為N的陣列A,從A中選出若干個數,使得這些數的和是N的倍數。 例如:N = 8,陣列A包括:2 5 6 3 18 7 11 19,可以選2 6,因為2 + 6 = 8,是8的倍數。 Input 第1行:1個數N,N為陣列的長度,同時也是要求的倍數。(2 <=
取模(取餘)運算小結規律——用於數字加密以及破譯
切入點來源於課堂測驗習題。 輸入一個四位數,該數是被加密後的結果。加密方法是:原數每一位數字加9,除以10取餘,再將第一位和第三位,第二位和第四位數字交換,組成加密後的新數字,求出原來的四位數。 輸入:3421 輸出:3245 核心程式碼: a = num / 1000;//取千位數 b =
為什麼要對1000000007取模(取餘)
大數階乘,大數的排列組合等,一般都要求將輸出結果對1000000007取模(取餘)為什麼總是1000000007呢= = 大概≖‿≖✧是因為:(我猜的,不服你打我呀~)1. 1000000007是一個質數(素數),對質數取餘能最大程度避免衝突~2. int32位的最大值為2147483647,所
藍橋杯 入門訓練 Fibonacci數列 (對10007取餘)
1.迴圈注意要從i=3開始 2.for()迴圈是判斷條件成立,就進入迴圈,然後再自加。所以3-n,是for(int i=3;i<=n;i++) 3.對10007取餘數,直接存入陣列就可以。因
hdu 1261 (大數除法)
分析: ans = sum!/(a1!*a2!*……); #include"stdio.h" #include"string.h" int main() { int n; int
HDU 2612 (BFS+取最優解)
1.題意:你約你喜歡的妹子去KFC,你們想找一家最近的,使得你和妹子到KFC所用時間和最短。 2.思路:相當於進行兩次BFS搜尋,可以從每個KFC當做起始點 出發搜尋Y和M,也可以從Y和M出發搜尋到達每個KFC的時間,然後用一個數組儲存到達每個kfc的總時間,找到最小值輸出
hdu 1023(大數+卡特蘭數)
題目:和那個I有關,是問火車按一定順序進站,出戰的順序有多少中。 分析: 典型的卡特蘭數,但本題數量巨大 所以採用大數來寫 java中提供了大數類,所以用了java寫 卡特蘭數公式:h(n)=C(2n,n)/(n-1) 遞推式: h(n)=h(n-1)*(4*n-2)
HDU 2112 HDU Today(STL MAP + Djistra)
stl eof dji int ble mes tin std n) 題目鏈接:HDU Today 立即集訓要開始,抓緊時間練練手,最短路的基礎題,第一次用STL的map 題目非常水,可是錯了N遍。手賤了。本題不優點理的就是把地名轉化為數字 #include
Railway HDU - 3394 (點雙連通)
struct bre bool cnblogs n) pri vector namespace origin Railway HDU - 3394 題意:一個無向圖,1求不在任何一個環裏的邊數;2求在不止一個環裏的邊數。 第一問明顯就是求橋,第二問,如果求出的某個點雙連
HDU 3001(狀態壓縮DP)
狀態壓縮 printf pri names urn 壓縮 puts -1 路徑 題意:遍歷所有的城市的最短路徑,每個城市最多去兩遍。將城市的狀態用3進制表示。 狀態轉移方程為 dp[NewS][i]=min( dp[NewS][i],dp[S][j]+dis[i][j])
Farm Irrigation HDU - 1198 (並查集)
i++ 灌溉 pan isp hdu color img 二進制表示 clu Farm Irrigation HDU - 1198 題意:給11種管道,問草地最少需要打多少個井才可以全部灌溉。 把每種管道的狀態用二進制表示一下,然後對每一塊草地,判斷能否和上面或者左面
Building Block HDU - 2818 (並查集)
freopen return 記錄 scanf splay else 一次 == gif Building Block HDU - 2818 題意:搬磚。。。每一次可以把a所在的那一堆放到b所在的那一堆上面,問第x號磚下面有幾塊磚。 記錄一下到根節點的距離(dw),以