刷题训练 hdu 1013

【仅记录无法一遍AC的题,没AC的等AC再记录】

按时间顺序:

WA代码:(测试数据范围可能大于long long int)

 1 #pragma warning (disable:4996)
 2 #include <iostream>
 3 #include<algorithm>
 4 #include<stdio.h>
 5 #include<math.h>
 6 #include<string.h>
 7 #include<string>
 8 #define MAX1 100005            /*1e5 + 5*/
 9 #define MAX2 1000000005        /*le9 + 5*/
10 #define MAX3 200005            /*1e5 + 5*/
11 #define MAX4 5005            /*5e3 + 5*/
12 #define MAX5 1005            /*1e3 + 5*/
13 #define T1 27
14 #define T2 27
15 #define T3 18
16 using namespace std;
17 typedef long long int ll;
18 #define MOL 998244353
19 
20 int main() {
21     ll t, n, m;
22     string a;
23     int i, j, k;
24     while (scanf("%lld", &n) != EOF && n) {
25         do {
26             t = 0;
27             while (n) {
28                 t += n % 10;
29                 n /= 10;
30             }
31             n = t;
32             //cout << t << ":" << endl;
33         } while (t >= 10);
34         printf("%lld\n", t);
35     }
36 }
WA

AC代码:(测试数据用char输入转换)

 1 #pragma warning (disable:4996)
 2 #include <iostream>
 3 #include<algorithm>
 4 #include<stdio.h>
 5 #include<math.h>
 6 #include<string.h>
 7 #include<string>
 8 #define MAX1 100005            /*1e5 + 5*/
 9 #define MAX2 1000000005        /*le9 + 5*/
10 #define MAX3 200005            /*1e5 + 5*/
11 #define MAX4 5005            /*5e3 + 5*/
12 #define MAX5 1005            /*1e3 + 5*/
13 #define MLLI 9223372036854775807
14 #define MAX6 1000000000000000000
15 #define T1 27
16 #define T2 27
17 #define T3 18
18 using namespace std;
19 typedef long long int ll;
20 #define MOL 998244353
21 
22 int main() {
23     ll t, n, m;
24     char a;
25     ll i, j, k;
26     while (scanf("%c", &a) != EOF && a != '0') {
27         n = a - '0';
28         while (scanf("%c", &a) && a != '\n') {
29             n += a - '0';
30         }
31         do {
32             t = 0;
33             while (n) {
34                 t += n % 10;
35                 n /= 10;
36             }
37             n = t;
38             //cout << t << ":" << endl;
39         } while (t >= 10);
40         printf("%lld\n", t);
41     }
42 }

 

posted @ 2020-07-28 13:12  听说福建人很好吃  阅读(88)  评论(0)    收藏  举报