hdu1402 大數A*B
問題來源:
http://acm.hdu.edu.cn/showproblem.php?pid=1402
題目描述:
Calculate A * B.
Input
Each line will contain two integers A and B. Process toend of file.
Note: the length of each integer will not exceed 50000.
Output
For each case, output A * B in one line.
Sample Input
1
2
1000
2
Sample Output
2
2000
計算a*b,6位一乘,否則tle,而且只能交G++,另外傅立葉演算法也可以
程式程式碼:
#include<stdio.h> #include<string.h> #define N 50100 int a[N],b[N]; long long A[N],B[N],ans[N]; char s1[N],s2[N]; int main() { int i,j,len1,len2,l,r,L,R,x; long long t,p,c; while(scanf("%s%s",s1,s2)!=EOF) { if(s1[0]=='0'||s2[0]=='0') { printf("0\n"); continue; } memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(A,0,sizeof(A)); memset(B,0,sizeof(B)); memset(ans,0,sizeof(ans)); len1=strlen(s1); len2=strlen(s2); l=len1-1; r=len2-1; for(i=0;i<len1;i++) a[l--]=(s1[i]-'0'); for(j=0;j<len2;j++) b[r--]=(s2[j]-'0'); L=0;R=0; for(i=0;i<len1;i+=6) A[L++]=a[i+5]*100000+a[i+4]*10000+a[i+3]*1000+a[i+2]*100+a[i+1]*10+a[i]; for(i=0; i<len2; i+=6) B[R++]=b[i+5]*100000+b[i+4]*10000+b[i+3]*1000+b[i+2]*100+b[i+1]*10+b[i]; for(i=0;i<L;i++) { c=0; for(j=0; j<R; j++) { t=A[i]*B[j]+ans[i+j]+c; ans[i+j]=t%1000000; c=t/1000000; } if(c) ans[i+j]=c; } for(x=L+R;ans[x]==0;x--){ } printf("%lld",ans[x]); for(x--; x>=0;x--) printf("%06lld",ans[x]); printf("\n"); } return 0; }
相關推薦
hdu1402(大數a*b&fft模板)
net display img 初始化 stdio.h 位置 scanf ios https 題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=1402 題意: 給出兩個長度1e5以內的大數a, b, 輸出 a * b.
hdu1402 大數A*B
問題來源:http://acm.hdu.edu.cn/showproblem.php?pid=1402題目描述:Calculate A * B. InputEach line will contain
HDU1402:A * B Problem Plus——題解
|| name nbsp pro style plus string stream size http://acm.hdu.edu.cn/showproblem.php?pid=1402 給出兩個高精度正整數,求它們的積,最長的數長度不大於5e4。 FFT裸題,
大數a+b
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #include<map>
大數A+B問題
原理 大數運算的原理其實就是模擬人工計算(註記:再考慮是否有其他演算法。註記日期:2017.3.19),人工加法計算步驟如下: 1.將兩個運算元(operand)位數對齊。 2.從最低位開始,計算兩個運算元每位的總和再加上進位數(第一
hdoj 1002 A + B Problem II 【大數A+B】
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 308540 Accep
NYOJ 103.大數A+B(大數問題)
/*描述 I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. A,B must be positive. 輸
大數a+b(整數)
給出2個大整數A,B,計算A+B的結果。Input第1行:大數A第2行:大數B(A,B的長度 <= 10000 需注意:A B有可能為負數)Output輸出A + BSample Input68932147586468711654886Sample Output5376
大數a+b【大數】
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.InputThe first line of the inp
HPU 1002 A + B Problem II【大數】
lar 保存 memory positive test size mod ack auth A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/327
HDU 1402 A * B Problem Plus ——(大數乘法,FFT)
兩個 ret 處理 complex truct std spa strlen mes 因為剛學fft,想拿這題練練手,結果WA了個爽= =。 總結幾點犯的錯誤: 1.要註意處理前導零的問題。 2.一定要註意數組大小的問題。(前一個fft的題因為沒用到b數組,
題解報告:hdu 1002 A + B Problem II(大數加法)
return 大數類 class family HERE contains urn integer ons Problem Description I have a very simple problem for you. Given two integers A and
HDU1002 A + B Problem II【大數】
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission
【c++大數加法】A+B陣列實現
#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> using namespace std; char ac[10005]; char bc[1000
計算機考研複試真題 a+b(大數加法)
題目描述 實現一個加法器,使其能夠輸出a+b的值。 輸入描述: 輸入包括兩個數a和b,其中a和b的位數不超過1000位。 輸出描述: 可能有多組測試資料,對於每組資料, 輸出a+b的值。 示例1 輸入
A + B Problem II JAVA大數水過
Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input
(java) 大數相加 A+B
java對於大數有BigInteger和BigDecimal;本題用字串進行操作。 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc
程式設計俱樂部每日一練(2018年12月3日)A * B Problem大數乘法
程式設計俱樂部每日一練(2018年12月3日)A * B Problem大數乘法 A * B Problem Description Now Give you two integers A and B , please caculate the value of A multiply
程式設計俱樂部每日一練(2018年12月2日) A - B problem大數減法
程式設計俱樂部每日一練(2018年12月2日) A - B problem大數減法 Description Now, Give you two intgers A and B , Please calculate the value of A minus B. Attation:
# 程式設計俱樂部每日一練(2018年11月30日)A + B problem 大數加法
程式設計俱樂部每日一練(2018年11月30日)A + B problem 大數加法 Description Calculate A + B. Input Each line will contain two integers A and B. Process to end