码迷,mamicode.com
首页 > 其他好文 > 详细

自己写的代码会写了,还是太渣,复杂度什么的直接报表

时间:2017-09-12 23:21:11      阅读:445      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!