1. 程式人生 > 實用技巧 >刷題訓練 hdu 1013

刷題訓練 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 }