HDOJ - 1013 - Digital Roots(字符串、范围)
来源:互联网 发布:linux黑客工具 编辑:程序博客网 时间:2024/04/27 21:19
方法2:用字符串处理,基础题。但是将temp[i]赋值给s[i]的时候如果不加大括号会出现s[i]的值复制不上的问题,寒假做题遇到过,这次又卡了好长时间。但是把这一块包括其他部分的大括号整理一下后,删除这的大括号居然也可以了。有点郁闷,不知道为什么,不过以后尽量都加上,即使一行也加上,一是清晰,二是确保不会出现这样的问题。只是看起来多了点。
AC代码:
#include <iostream> #include <iomanip> #include <string> #include <cstring> #include <cstdio> #include <queue> #include <stack> #include <algorithm> #include <cmath> #include <ctime>using namespace std; int CalSum(char s[]){int i = 0, sum = 0;for (i = 0; i < strlen(s); i++)sum += s[i] - '0';return sum;}void Rewrite(char s[], int sum){char temp[1000];int i = 0, j = 0;memset(temp, '\0', sizeof(temp));for (i = 0; sum != 0; i++){temp[i] = (sum % 10) + '0';sum /= 10;}for (j = 0, i = i-1; i >= 0; j++, i--){s[j] = temp[i];}return;}int main(){#ifdef Local freopen("a.in", "r", stdin); #endifchar s[1000];while (cin >> s && s[0] != '0'){while (true){int sum = CalSum(s);if (sum >= 10){memset(s, '\0', sizeof(s));Rewrite(s, sum);}else{cout << sum << endl;break;}}}return 0;}
方法1(WA):用整型(或者long long)处理,都错误,范围不够。
#define Local#include <iostream> #include <iomanip> #include <string> #include <cstring> #include <cstdio> #include <queue> #include <stack> #include <algorithm> #include <cmath> #include <ctime>using namespace std; int Found_Root(int n){int sum = 0;while (n >0){sum += n % 10;n /= 10;}return sum;}int main(){#ifdef Local freopen("a.in", "r", stdin); #endifint n = 0;while (cin >> n && n){while (n >= 10)n = Found_Root(n);cout << n << endl;}return 0;}
0 0
- HDOJ - 1013 - Digital Roots(字符串、范围)
- HDOJ(1013) ——Digital Roots(字符串模拟题)
- HDOJ 1013 Digital Roots
- HDOJ 1013 Digital Roots
- HDOJ 1013 Digital Roots
- HDOJ 1013 Digital Roots
- hdoj 1013 Digital Roots
- HDOJ 1013 Digital Roots
- hdoj 1013 Digital Roots
- HDOJ 1013 Digital Roots
- hdoj-1013-Digital Roots
- hdoj 1013Digital Roots
- 【HDOJ】【1013】Digital Roots
- HDOJ 1013 Digital Roots
- HDOJ 1013 Digital Roots
- HDOJ 1013 Digital Roots
- hdoj 1013 Digital Roots
- HDOJ 1013 Digital Roots
- Dev Cpp 输出窗口一闪而过解决办法
- 引用返回值应注意什么
- selector的使用
- YUV 和RGB的相互转换
- c# 三元表达式 无法确定条件表达式的类型
- HDOJ - 1013 - Digital Roots(字符串、范围)
- 分享一个自动编译,打包,签名 android apk 的小脚本
- [学习] 数据挖掘-贝叶斯分类(例子,代码)
- javascript正则表达式总结(test|match|search|replace|split|exec)
- Linux ALSA声卡驱动之三:PCM设备的创建
- 一份前端试题
- 断电后笔记本损坏文件如何恢复
- Linux和Windows共享文件Samba(SMB)
- java内置锁synchronized的可重入性