ZOJ Martian Addition (20進位制的兩個大數相加)
#include <cstdio>
#include <cmath>
#include<vector>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<stack>
#include<string>
#include<iostream>
#include<set>
#include<vector>
using namespace std;
int main()
{
char s1[110],s2[110];
while(cin>>s1>>s2)
{
int num[220];
memset(num,0,sizeof(num));
int len1=strlen(s1)-1;
int len2=strlen(s2)-1;
int i;
for(i=0;len1>=0||len2>=0;i++)
{
if(len1>=0)
{
if(s1[len1]>='0'&&s1[len1]<='9')
{
num[i]+=(s1[len1]-'0');
}
else
num[i]+=(s1[len1]-'a'+10);
len1--;
}
if(len2>=0)
{
if(s2[len2]>='0'&&s2[len2]<='9')
{
num[i]+=(s2[len2]-'0');
}
else
num[i]+=(s2[len2]-'a'+10);
len2--;
}
num[i+1]+=num[i]/20;
num[i]=num[i]%20;
}
if(num[i]==0)
i--;
char c;
for(;i>=0;i--)
{
if(num[i]>=0&&num[i]<=9)
c=num[i]+'0';
else
c=num[i]-10+'a';
cout<<c;
}
cout<<endl;
}
return 0;
}
相關文章
- 二進位制字串相加字串
- 使用純粹的ABAP位操作實現兩個整數相加
- C----判斷兩個整數乘積幾進位制
- 二進位制中1的個數
- 口算 16 進位制轉換 10 進位制,但只適合兩位的 16 進位制
- POJ-2196 Specialized Four-Digit Numbers-10,12,16進位制的各個位數相加彼此相等的數ZedGit
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- 十六進位制數轉十進位制
- 位運算--求一個 數二進位制中1的個數
- 負數補碼(16進位制轉10進位制的負數)
- 2. 兩數相加
- 位運算(一):二進位制中1的個數
- C++輸入十進位制數,輸出對應二進位制數、十六進位制數C++
- 求一個整數的二進位制中1的個數
- HDU 6034 Balala Power!(大數進位制)
- 八進位制,十六進位制和浮點數
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- 數的進位制轉換
- 產生一個32位的16進位制隨機數隨機
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- LeetCode——兩數相加LeetCode
- Leetcode兩數相加LeetCode
- 演算法-兩數相加演算法
- 0~9十個數,每個數只能使用一次,組成兩個三位數相加和為四位數的演算法演算法
- 進位制均值-進位制轉換+最大公約數
- 在c語言中輸出8進位制數,16進位制數C語言
- 【劍指offer】二進位制中1的個數
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 2^k進位制數
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- JavaScript 進位制轉換(2進位制、8進位制、10進位制、16進位制之間的轉換)JavaScript
- JavaScript 二進位制數字轉換為十進位制JavaScript
- printf()將10進位制數安照輸出16進位制,8進位制輸出
- ORACLE使用函式對二進位制、十進位制、十六進位制數互相轉換Oracle函式
- 如何把十進位制的數輸入用二進位制全加器,並以十進位制輸出
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- 進位制詳解:二進位制、八進位制和十六進位制