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;)的区别;前一个算法比后哟个算法要简单,时间复杂性要小的多.......
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;)的区别;前一个算法比后哟个算法要简单,时间复杂性要小的多.......
相关文章推荐
- ACM&nbsp;JOJ&nbsp;1007
- Windows环境下maven 安装与环境变量配置
- java提高篇(二五)-----HashTable
- 06Java语法collection之arraylist续01
- Android Studio系列(三)使用Version Control管理多仓库多分支源码
- 黑马程序员 - C语言 -分支、循环
- 注释转换
- Android一点 Log优化
- Java提高篇(二六)------hashCode
- 【jQuery】使用getScript()方法异步加载并执行js文件
- 删除表报错
- 测试代码
- 在MRP中使用安全库存
- android jni 调用java的方法
- C与C++互相调用
- clipse和数据分析师的一些问题
- 机器学习之决策树1
- struct2相关技术
- s2sh框架整合
- Xcode删除所有的描述文件