首页 > 代码库 > poj 1503 Integer Inquiry
poj 1503 Integer Inquiry
题目链接:http://poj.org/problem?id=1503
思路: 基本的高精度问题,使用字符数组存储然后处理即可。
代码:
#include <iostream>#include <string>using namespace std;const int M = 100 + 10;char input[M];int A[M], sum[M];void Reverse( int A[], const char str[] ){ int len = strlen( str ); int index = 0; for ( int i = len - 1; i >= 0; --i ) A[index++] = str[i] - ‘0‘;}int main(){ int sumLen = 0; memset( sum, 0, sizeof(sum) ); while ( scanf( "%s", input ) != EOF ) { int digitSum; if ( strcmp( input, "0") == 0 ) break; memset( A, 0, sizeof(A) ); Reverse( A, input ); for ( int i = 0 ; i < M; ++i ) { digitSum = sum[i] + A[i]; sum[i] = digitSum % 10; sum[i+1] += digitSum/10; } } for ( int i = M-1; sum[i] == 0; --i ) sumLen = i;
for( int i = sumLen-1; i >= 0; --i ) printf( "%d", sum[i] ); printf( "\n" ); return 0;}
poj 1503 Integer Inquiry
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。