數字用加法分解之謎

來源:互聯網
上載者:User

標籤:面試題

數字用加法分解之謎

個人資訊:就讀於燕大本科軟體工程專業 目前大三;

本人部落格:google搜尋“cqs_2012”即可;

個人愛好:酷愛資料結構和演算法,希望將來從事演算法工作為人民作出自己的貢獻;

程式設計語言:C++ ;

編程壞境:Windows 7 專業版 x64;

編程工具:vs2008;

製圖工具:office 2010 powerpoint;

硬體資訊:7G-3 筆記本;

真言

蝸牛雖慢,卻不曾後退。

題目

數字用加法分解之謎:

1+2 = 3

4+5 = 9

2+3+4 = 9.

等式的左邊都是兩個或兩個以上連續的自然數相加,那麼是不是所有的整數都可以寫成這樣的形式呢?

解法

分析:我們定義一個整數為 n

如果n為奇數 ,那麼它肯定兩個連續的自然數

如果n為偶數,如果它有奇數因子,那麼它也是可以分解的;如果沒有奇數因子,那麼它不能被分解了

演算法

設計演算法用C++表示如下

// 只考加法的面試題:編程之美 211頁bool Number::Continue_number_sum_equal_given(unsigned int a){// 檢查是否是偶數if( a%2 != 0 )return true;// 如果是偶數else{unsigned int max_yinzi = a/2;for( int i = 3; i <= max_yinzi;i = i+2 ){// 如果有奇數因子if(a % i == 0)return true ;}// 如果沒有奇數因子return false ;}}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.