hdu1013-简单模拟
2015-08-24 09:58
375 查看
给一个数字,将他的各位数字相加,循环,直到变成个位数为止
题中没有给数字范围,所以要用字符串处理
字符串的范围未知,由于题比较简单,可以直接用字符处理。
对于换行和0的处理参考了
http://blog.csdn.net/gneveek/article/details/6918955
在网上看到数的树根k=(n-1)%9-1,原理如下
n=0 1 2 3 4 5 6 7 8 9 10 11 12 13
roots=0 1 2 3 4 5 6 7 8 9 1 2 3 4
可见实际上为0~9的循环
由于数字很大,使用时将各位数字相加后计算。
代码如下
题中没有给数字范围,所以要用字符串处理
字符串的范围未知,由于题比较简单,可以直接用字符处理。
对于换行和0的处理参考了
http://blog.csdn.net/gneveek/article/details/6918955
在网上看到数的树根k=(n-1)%9-1,原理如下
n=0 1 2 3 4 5 6 7 8 9 10 11 12 13
roots=0 1 2 3 4 5 6 7 8 9 1 2 3 4
可见实际上为0~9的循环
由于数字很大,使用时将各位数字相加后计算。
代码如下
#include <iostream> #include<cstdio> #include<cstring> using namespace std; int main() { char c; int sum=0; while(c=getchar()) { int a; if(c=='\n') { cout<<sum<<endl; c=getchar(); if(c=='0') break; else { sum=0; a=c-'0'; sum+=a; continue; } } a=c-'0'; sum+=a; if(sum>9) { sum=sum/10+sum%10; } } return 0; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- C++ Custom Control控件向父窗体发送对应的消息
- C++中拷贝构造函数的应用详解