POJ-1503 Integer Inquiry-多個大數相加
Integer Inquiry
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 31808 | Accepted: 12404 |
Description
One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of powers of 3 to go from 0 to 333 and he explored taking various sums of those numbers.
``This supercomputer is great,'' remarked Chip. ``I only wish Timothy were here to see these results.'' (Chip moved to a new apartment, once one became available on the third floor of the Lemon Sky apartments on Third Street.)
``This supercomputer is great,'' remarked Chip. ``I only wish Timothy were here to see these results.'' (Chip moved to a new apartment, once one became available on the third floor of the Lemon Sky apartments on Third Street.)
Input
The input will consist of at most 100 lines of text, each of which contains a single VeryLongInteger. Each VeryLongInteger will be 100 or fewer characters in length, and will only contain digits (no VeryLongInteger will be negative).
The final input line will contain a single zero on a line by itself.
The final input line will contain a single zero on a line by itself.
Output
Your program should output the sum of the VeryLongIntegers given in the input.
Sample Input
123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0
Sample Output
370370367037037036703703703670
Source
East Central North America 1996
一開始資料的長度控制的不好錯了好久。。
/*
*Copyright (c)2015,煙臺大學計算機與控制工程學院
*All rights reserved.
*作 者:單昕昕
*完成日期:2015年8月25日
*版 本 號:v1.0
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string.h>
#include<algorithm>
using namespace std;
struct cal
{
char s[100];
} c[100];
int main()
{
int i,j=0,l,ll;
int a[200],b[200];
memset(a,0,sizeof(a));
cin>>c[0].s;
l=strlen(c[0].s);
for(i=0; i<l; ++i)
a[i]=c[0].s[l-i-1]-'0';
++j;
while(cin>>c[j].s&& strcmp(c[j].s,"0"))
{
memset(b,0,sizeof(b));
ll=strlen(c[j].s);
for(i=0; i<ll; ++i)
b[i]=c[j].s[ll-i-1]-'0';
for(i=0; i<200; ++i)
{
a[i]+=b[i];
while(a[i]>=10)
{
a[i+1]+=a[i]/10;
a[i]%=10;
}
}
++j;
}
for(i=199; i>=0; --i)
if(a[i]!=0)
break;
for(; i>=0; --i)
cout<<a[i];
cout<<endl;
return 0;
}
一開始資料的長度控制的不好錯了好久。。
相關文章
- (陣列)大數相乘,相加陣列
- 漫畫:如何實現大整數相加?
- ZOJ Martian Addition (20進位制的兩個大數相加)
- PHP字串數字相加PHP字串
- 2. 兩數相加
- 我倒在了美團面試演算法題:字串大數相加面試演算法字串
- LeetCode-2. 兩數相加(連結串列+大數加法模擬)LeetCode
- [LeetCode] Add Two Numbers 兩個數字相加LeetCode
- LeetCode——兩數相加LeetCode
- Leetcode兩數相加LeetCode
- 演算法-兩數相加演算法
- 454_四數相加Ii
- 程式設計題-兩數相加程式設計
- LeetCode 2——兩數相加LeetCode
- 【leetcode】【2、兩數相加】LeetCode
- 【LeetCode】2 兩數相加LeetCode
- LeetCode-兩數相加LeetCode
- hduoj1002 A + B Problem II (大數相加 字串模擬)字串
- 【演算法拾遺】大數相加(不開闢額外空間)演算法
- 使用純粹的ABAP位操作實現兩個整數相加
- LeetCode 2.兩數相加LeetCode
- leetcode 2. 兩數相加LeetCode
- JavaScript兩數相加(踩坑)記錄JavaScript
- php日期相加增加天數,月數的方法PHP
- 神奇補0解決連結串列相加:LeeCode002兩數相加
- LeetCode 第二題兩數相加LeetCode
- js精確計算浮點數相加JS
- 力扣題解2-兩數相加力扣
- LeetCode題集-2 - 兩數相加LeetCode
- 0~9十個數,每個數只能使用一次,組成兩個三位數相加和為四位數的演算法演算法
- [LeetCode] Reverse Integer 翻轉整數LeetCode
- leetcode之兩數相加解題思路LeetCode
- [LeetCode 刷題] 2. 兩數相加LeetCode
- 演算法--力扣2. 兩數相加演算法力扣
- [LeetCode] Integer to Roman 整數轉化成羅馬數字LeetCode
- [LeetCode] Roman to Integer 羅馬數字轉化成整數LeetCode
- into賦予多個變數變數
- String to Integer (atoi) 字串轉換整數 (atoi)字串