#includeusing namespace std; //P5727 #define max 1000 int main(){ int n; cin >> n; int temp = 0; int arry[max]; while (n != 1) { arry[temp++] = n; //arry[temp]=n; //temp++; if (n % 2 != 0) n = 3 * n + 1; else n /= 2; } arry[temp] = 1;//上面那个temp++到最后判断是1跳出循环时 是没有+1的 所以在这边把arry[temp]的值手打补进去 for (int i = temp; i >= 0; i--) {//因为从小到大输出,只要倒着来就行 cout << arry[i] << " "; } cout << endl; system("pause"); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)