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位操作實現兩個整數相加
- 二進位制中1的個數
- C----判斷兩個整數乘積幾進位制
- 口算 16 進位制轉換 10 進位制,但只適合兩位的 16 進位制
- 兩數相加Ⅰ和Ⅱ
- Leetcode兩數相加LeetCode
- LeetCode——兩數相加LeetCode
- HDU 6034 Balala Power!(大數進位制)
- 負數補碼(16進位制轉10進位制的負數)
- C++輸入十進位制數,輸出對應二進位制數、十六進位制數C++
- LeetCode 2——兩數相加LeetCode
- LeetCode-兩數相加LeetCode
- 【LeetCode】2 兩數相加LeetCode
- 2. 兩數相加
- 【leetcode】【2、兩數相加】LeetCode
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- 八進位制,十六進位制和浮點數
- 1022 D進位制的A+B (20分)
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 【劍指offer】二進位制中1的個數
- JZ-011-二進位制中 1 的個數
- 在c語言中輸出8進位制數,16進位制數C語言
- 對於十進位制數 -1023,包含符號位在內,至少需要多少個二進位制位表示該數符號
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- 演算法-兩數相加演算法
- leetcode 2. 兩數相加LeetCode
- LeetCode 2.兩數相加LeetCode
- 2^k進位制數
- 1417 二進位制數的大小
- 如何把十進位制的數輸入用二進位制全加器,並以十進位制輸出
- printf()將10進位制數安照輸出16進位制,8進位制輸出
- 進位制詳解:二進位制、八進位制和十六進位制
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- Python實現"數字轉換為十六進位制"的兩種方法
- 負數的二進位制數問題
- 【刷演算法】二進位制中1的個數演算法