Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
C++参考#include <iostream> #include <sstream> #include <stdlib.h> #include <string> using namespace std; string inventory(string n) { stringstream ss; int temp[10] = {0}; int j = 0; for (int i = 0; i < n.length(); ++i) { j = n[i]- 48; temp[j] +=1; } for (int i = 0; i < 10; ++i) { if (temp[i]>0){ ss << 10*temp[i] + i; } } return ss.str(); } int main(){ string s,inventory_s; string inventory_list[15]; while (cin >> s) { inventory_s = ""; bool flag = false; if (s != "-1") { cout << s; for (int i = 0; i < 15; i++) { inventory_list[i] = s; s = inventory(s); for (int j = 0; j <= i; j++) { if (s == inventory_list[j]) { if (i == j && j == 0) printf(" is self-inventorying"); else if (i == j && j > 0) printf(" is self-inventorying after %d steps", j); else printf(" enters an inventory loop of length %d ", (i-j+1)); flag = true; break; } } if (flag) break; else if (i==14) cout << " can not be classified after 15 iterations"; } } cout << endl; } system("pause"); return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator