HDU - 1013ACM

来源:互联网 发布:淘宝商品照片尺寸 编辑:程序博客网 时间:2024/05/16 11:37

这个题目很简单,但是很容易WA。是因为题目里给的数字大小可能超过unsigned int.

所以要用字符串。

这是最重要的部分了。下面是代码,很简单。

////  main.cpp//  DigitalRoot_hdu1013////  Created by Alps on 14/12/25.//  Copyright (c) 2014年 chen. All rights reserved.//#include <iostream>using namespace std;int root(int ac){    int ans = 0;    while (ac) {        ans += ac%10;        ac /= 10;    }    return ans < 0 ? -ans:ans;}int main(int argc, const char * argv[]) {    char s[1000];    int ac = 0;    while (1) {        memset(s, '0', 1000*sizeof(char));        scanf("%s", s);        for (int i = 0; s[i] != '\0'; i++) {            ac += (int)(s[i] - '0');            if (ac >= 10) {                ac = root(ac);            }        }        if (0 == ac) {            break;        }        printf("%d\n",ac);        ac = 0;    }    return 0;}


0 0
原创粉丝点击