标签:using nbsp 这一 代码简洁 oid 简洁 end ios ace
原题目是这样子的,本人按照一贯的作风想得很简单
#include<iostream> using namespace std; void H(int n) { while (n > 1) { if (n % 2 == 0) //这一步把取余和除法弄混淆。 { cout << n << " "; n = n / 2; } else { cout << n << " "; n = 3 * n + 1; } } if (n == 1) cout << n << " "; } int main2() { H(42); return 0; }
可是人家直接用了一个三目运算符直接取代if else 了,简直妙不可言
#include<iostream> using namespace std; int hailstone(int n) { int length = 1; while(n>1) { (n % 2) ? n = 3 * n + 1 : n = n/ 2 ; length++; } return length; } int main() { cout << hailstone(423232)<<endl; system("pause"); return 0; }
但是这两个的复杂度是一模一样的 震惊,就算是给自己代码简洁的一种方法吧
标签:using nbsp 这一 代码简洁 oid 简洁 end ios ace
原文地址:http://www.cnblogs.com/xiaochige/p/7512417.html