• 2

{請益}想請問一下有關C語言的問題...

longyeekimo wrote:
寫程式是要有天份的...(恕刪)

寫程式的天份只需要 湊一湊26個英文字母就可以了。
最近面試的一題:6=1+2+3,其所有因數之總和
等於本身,稱之為完全數。請寫出1~1000中
有哪些完全數的程式。

如果你是程式設計師,請問你會怎麼寫?

weimingyu wrote:
先把流程圖劃出來就好...(恕刪)


寫之前想一下-> 畫流程圖 -> 動手寫 -> 驗証

打底是辛苦的,但這樣作不是浪費時間.
arniwarp wrote:
寫程式的天份只需要 ...(恕刪)


這位大大,Very Good,很好的問題...那家企業啊? Google
因為還在上班沒細心去想. 我想這道題是屬於數學題才對.
應該會有有效率的公式來計算吧...有效率的公式等我回家推導一下.我心裡大概有個底

那在還沒有找到有效率的公式前.先用笨蛋的做法.

從1~1000將所有的數的質因數找出來.並且得到各個質因數的個數
然後以排列組合的方法,將1到多個質因數乘在一起.使用的質因數必需符合之前找到的個數.
再驗証是否該組合加起來為完全數...

這樣的想法對嗎?
應該OK吧...

你知道答案的話,跟我說一聲了.
寫程式沒有那麼難, 尤其是這種...運算過程簡單的程式...
你數學是怎麼算的, 程式的過程就是怎麼跑....

1. 判斷是否偶數...
根據事實描述, 你必須先請user輸入,
不是偶數, 請重複輸入, 直到正確為止
對於無論如何都要先做一次的重複事件, 最典型的是 do-while
do{
scanf("%d",&input);
}
while (input%2 !=0);

2. 呈現一個迴圈.
題目描述可知, 第一個累加數字是 2, 下一個是4, 下一個是6...
==> n 自己會 累加2.
==> 總和等於 (總和+n)

sum = 0;
n = 0;
while (n < input)
{
n = n+2;
sum = sum + n;
}

ps. 抓取偶數的迴圈, 和計算的迴圈根本不該是同一個.....
當然你要寫成同一個也是可以啦, 只是處理上會很煩...
兔貴肇朋:本人所發表和回應的文章,都是晚消化,本人不對其導致的結果承擔任何責任.
arniwarp wrote:
寫程式的天份只需要 ...(恕刪)


這真是數學題,如果還在高中時代,我想要寫證明式吧.

給我答案吧..

PS,第一次推導錯了.我再想想有沒有公式.不然真要用笨方法
longyeekimo wrote:
將所有數的質因數找出來...這樣的想法對嗎? 應該OK吧...(恕刪)

這是用程式做數學解題,如果高中程度,有這種想法就OK了。
但如果用[完全數]拜一下Google,你就發現這是道
騙人蓋白宮的題目。

試試看兩道沒有騙人的簡單題目。聽說正確寫完這兩道題目的
程式設計師,身價年薪百萬:
1.請寫出處理小數,四捨五入的功能。
2.已知三邊長。請寫出判斷此三邊長,構成的三角形
是正、等腰或普通三角形。

據我所知,外國Programmer年薪真的不錯,應該是台灣三倍左右。
初入行的新手在香港就可喊到近4萬的月薪;但台灣軟體業界名言:
[摳丁摳地好,要飯要到老。]給你參考。我聽過 Programmer
摳到哀怨地自嘆:[不如去賣chicken steak。]

arniwarp wrote:
這是用程式做數學解題...(恕刪)


找到答案了!果然有個公式...原來這麼簡單.沒辦法,第一次推導時想錯......不過有點接近我的想法了 .

把數學都忘光了,真是


以下這兩題是真的嗎? 那我要考慮去國外了.
1.請寫出處理小數,四捨五入的功能。
2.已知三邊長。請寫出判斷此三邊長,構成的三角形
是正、等腰或普通三角形。

國外progamer的能力不高,這我可以確定....
我工作上遇到幾個,實在是看不出應有的實力.


  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?