poj 1503(水题)

来源:互联网 发布:javascript 获取时间 编辑:程序博客网 时间:2024/06/05 02:18

大数问题

代码如下

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;int main(){string s;int a[200];memset(a,0,sizeof(a));while(getline(cin,s)){int len=s.size();if(len==1&&s[0]=='0') break;else{int p=0;int cnt=0;for(int i=len-1;i>=0;i--){cnt=cnt+(s[i]-'0');a[p++]+=cnt%10;cnt=cnt/10;}}}int c=0;for(int i=0;i<=150;i++){c=c+a[i];a[i]=(c%10);c=c/10; }  int l=-1;for(int i=150;i>=0;i--){if(a[i]==0&&a[i-1]!=0) {l=(i-1);break;}}for(int i=l;i>=0;i--){printf("%d",a[i]);}printf("\n");return 0; } 

一个别人写的小技巧

  1. //去掉前导0   
  2.     while(sum[i]==0) i--;  

原创粉丝点击