数学/找规律/暴力 Codeforces Round #306 (Div. 2) C. Divisibility by Eight

 

题目传送门

 1 /*  2  数学/暴力:只要一个数的最后三位能被8整除,那么它就是答案;用到sprintf把数字转移成字符读入  3 */  4 #include <cstdio>  5 #include <algorithm>  6 #include <cstring>  7 #include <iostream>  8 #include <cmath>  9 #include <vector> 10 using namespace std; 11 12 const int MAXN = 1e2 + 10; 13 const int INF = 0x3f3f3f3f; 14 char s[MAXN]; 15 char t[MAXN]; 16 17 int main(void) //Codeforces Round #306 (Div. 2) C. Divisibility by Eight 18 { 19 while (scanf ("%s", s) == 1) 20  { 21 bool ok = false; 22 for (int i=0; i<1000; ++i) 23  { 24 if (i % 8 == 0) sprintf (t, "%d", i); 25 int p = 0; 26 for (int i=0; s[i] && t[p]; ++i) 27  { 28 if (s[i] == t[p]) p++; 29  } 30 if (!t[p]) {puts ("YES"); printf ("%s\n", t); ok = true; break;} 31  } 32 if (!ok) puts ("NO"); 33  } 34 35 return 0; 36 } 37 38 /* 39 3454 40 10 41 111111 42 */

 

你可能感兴趣的:(codeforces)