您的位置:首页 > 其它

ACM JOJ 1023

2015-12-18 18:05 260 查看
#include <iostream>

using namespace std;

int main()

{

string
a;

int
sum=0;


while(1)

{


sum=0;


cin>>a;


if(a[0]=='0')


{


break;


}


else


{


for(int i=0;i<a.length();i++)


{


sum=sum+(a[i]-'0');


}


while(sum<10)


sum=sum/10+sum;


}


cout<<sum<<endl;

}

return
0;

}

这道题看起来很好做,但提交大都会显示“Time Limit
Exceeded”,这是因为(while(sum>10)sum=sum/10+sum;)与(while((m+sum)>10)m+=sum;sum=sum/10;)的区别;前一个算法比后哟个算法要简单,时间复杂性要小的多.......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: