1. 程式人生 > >大數——取餘&除法

大數——取餘&除法

#include<stdio.h>
#include<string.h>
int main()
{
    char s[1100];
    int num[1100]={};
    int final[1100]={};
    int b,carry=0,tmp;
    scanf("%s%d",s,&b);
    int len=strlen(s);
    int i;
    for(i=0;i<len;i++){
        num[i+1]=s[i]-'0';
    }
    for(i=1;i<=len;i++){
        tmp=carry*10+num[i];
        carry=tmp%b;
        final[i]=tmp/b;
    }
    if(final[1]!=0)printf("%d",final[1]);
    for(i=2;i<=len;i++)printf("%d",final[i]);
    printf(" %d",carry);
}

相關推薦

大數——&除法

#include<stdio.h> #include<string.h> int main() { char s[1100]; int num[1100]={};

ACM暑期集訓 同定理+逆元 大數

表面上看這道題是問a能不能整除b,實際上還是看二者取余余數是否為0,屬於大數取餘的範圍 a的範圍達到10的200次方,用 long long都已經不可以,需要用字串,而b可以用long long 題目: F - Large Division Given two i

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

NEFU1493 快速冪+除法(逆元)

題目: Gugu 有兩個長度無限長的序列A,B A0=a^0/0!,A1=a^1/1!,A2=a^2/2!,A3=a^3/3!…. B0=0, B1=b^1/1!,B2=0,B3=b^3/3!,B4=0, B5=b^5/5! … Douge

hdu 1212(大數

題目大意:輸入兩個數a, b, 要求輸出a mod b(a的長度小於1000, b <= 100000)(a 是長度, b是大小) 分析:直接程式碼,模板!模板! ac程式碼 #incl

【數論】 通過逆元實現大整數除法

當題目中資料較大,而且計算中出現過除法的時候。往往取模會出錯 當計算 (A/B) % c    等價於  (A*B1)% c 其中 B1 是 B 的逆元。 那麼逆元如何求呢。 先給出逆元的定

模擬除法運算(hdu acm 2114&2117)

最近在杭電的ACM上看到了兩道題2116,2117.雖然難度不算太大,卻給了我很大的啟示。除法與取餘運算,這兩種本該在一種運算中的工具。具有不同的意義。 顧名思義,取餘得到的結果,就是被除數除去除數後的結果。這種運算,在處理大數的過程中具有很大的意義。而做模擬整除,就是在不

大數斐波那契數列+

斐波那契序列 集錦 (轉) [定理1] 標準Fibonacci序列(即第0項為0,第1項為1的序列)當N大於1時,一定有f(N)和f(N-1)互質 其實,結合“互質”的定義,和一個很經典的演算法就可以輕鬆證明 對,就是輾轉相除法 互質的定義就是最大公約數為1 數學歸納法是很有用的證明方法,我們接下來

hdu5895Mathematician QSC+矩陣快速冪+除法

Problem Description QSC dream of becoming a mathematician, he believes that everything in this world has a mathematical law. Thro

C語言中關於除法的理解

C語言除法運算子“/”和求餘運算子“%”    看似兩個很簡單的運算子,卻也真要掌握用好它也不容易,本文作為關於此類運算子的各方面的問題的彙總,希望對你我都有一些幫助。    除法運算子“/”。二元運算子,具有左結合性。參與運算的量均為整型時,結果為整型,捨去小數。如果運算量中有一個為實型,結果為雙精度實型

java中除法的若干注意

1 整數除法中,除數為0,丟擲一個算術異常ArithmeticException。整數取餘運算中,除數為0,丟擲一個ArithmeticException異常。  如:  class Test  {   public static void main(String args[])   {    Sy

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)%

大數對小數

Problem 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

除法

除法是四則運算之一。已知兩個因數的積與其中一個因數,求另一個因數的運算,叫做除法餘數指整數除法中被除數未被除盡部分,且餘數的取值範圍為0到除數之間(不包括除數)的整數#include <stdio

快速冪大數運算/演算法優化)

快速冪取餘 int PowerMod(int a, int b, int k) { int ans = 1; a = a % k; while(b>0))

sum 大數余+快速冪

i++ AI ace har main accept rain pre fine Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total

大數模)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

POJ 1426 Find The Multiple(大數模)【DFS】||【BFS】

++ printf true pty ace bfs 還要 ems 兩種 <題目鏈接> 題目大意: 給一個小於200的正整數n,問只有0和1組成的位數小於100的最小能被n整除的數是多少。 解題分析: 用DFS或者BFS沿著位數進行搜索,每一次搜索到下一位都有兩

【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 <=

洛谷P1226 快速冪||運算 題解

題目描述 輸入b,p,k的值,求b^p mod k的值。其中b,p,k*k為長整型數。 輸入輸出格式 輸入格式: 三個整數b,p,k. 輸出格式: 輸出“b^p mod k=s” s為運算結果 輸入輸出樣例 輸入樣例#1: 2 10 9 輸出樣例#