如果給你以下,你可以轉化為正確且漂亮的程式嗎?
從1到100
如果是質數
輸出數字
從1到100
如果是質數,如果大於2也是質數
輸出質數和大於2的質數
如果可以轉化,那我覺得你不需要去寫太多OJ的題目,
另一方面也恭喜你念對科系,
因為目前你缺的是一個需要拉遠視野的統籌規劃能力,
這正是念資管系將來出社會前要習得的技能值。
但如果不能轉化,那你的實作功力還有待加強。
可以在課餘時練習一些OJ的題目,
等到在需求轉化程式碼這方面已經行雲流水後,
再回過頭來把上面講的技能值補滿。
個人認為上述兩者都很重要,
也建議可以在學期結束後繼續自行深造Java這個程式語言。
另外,會問這類問題代表你很努力上進,不過考試成績不用太在意,
也不用理會那些帶有個人觀念在裡面的強或弱的旁人眼光。
如果你將來要走寫程式的路,反而在學時要珍惜寫程式以外的事。
因為當你真正以寫程式為一生志業的時候,就沒有時間再觸及程式以外的領域了。
※ 引述《ek0424 (Q毛)》之銘言:
: ※ 引述《ek0424 (Q毛)》之銘言:
: : 小弟現在是大學的資管系學生
: : 目前程設學了java 雖然不會被當
: : 可是常常考試的時候想不出來 而且coding速度很慢 每次都覺得時間不夠
: : 平常以班上的同學來說 我的練習時間不輸給大部分的人
: : 平常老師給的題庫或是作業我都有寫
: : 而且常常有很難的作業我都會把他想出來
: : 因此大家常常覺得我很強
: : 但是考試的時候 我卻常常出乎大家意料之外
: : 分數總是在及格邊緣而已
: : 有沒有大大可能在求學時也跟我一樣呢?
: : 或者有人可以教教我怎麼提升考試的實力呢?
: : 我對寫程式一點都不排斥 還蠻喜歡的
: : 可是一旦考是我就頭痛:<
: : 各位前輩們還請多多給予意見
: 像是這種題目:
: 1.(質數測試) 請依序撰寫如下兩種質數測試方法及測試主程式:
: a.public static boolean prime(int n)
: 若正數n為質數則回傳真,否則回傳假
: 提示:若2到n/2的整數m皆無法整除n,則n為質數.
: 其中,m整除n寫法如下
: if(n % m == 0)
: b.public static boolean twinPrime(int n, int m)
: 若正數n,m差2,而且n,m皆質數,則n,m為雙生質數,回傳真,否則回傳假
: c.主程式測試時請印出小於100之質數,及雙生質數.
: (Sample Output)
: 小於100質數如下:
: 2,3,5,7,...
: 小於100雙生質數如下:
: 3,5; 5,7; 11,13; ...
: 標準解答:
: public static void main(String[] args) {
: int n=100;
: for(int i=2 ;i<n;i++){
: if(prime(i)){
: if(i!=2){
: System.out.print(",");
: }
: System.out.print(i);
: }
: }
: System.out.println();
: for(int i=2 ;i<n;i++){
: if(twinPrime(i,i+2)){
: System.out.print(i+","+(i+2));
: if(i!=n){
: System.out.print(";");
: }
: }
: }
: System.out.println();
: }
: public static boolean prime(int n){
: for(int i=2;i<=n/2;i++){
: if(n%i == 0){
: return false;
: }
: }
: return true;
: }
: public static boolean twinPrime(int n, int m){
: if((Math.abs(n-m))==2 && prime(n) && prime(m)){
: return true;
: }
: return false;
: }
: }
: 像是這種題目我大概都考試的時候會想得很零散
: 老師會部分給分 所以都還是我拿一些分數
: 可是我考試幾乎沒有那種整大題都run出來過的
: 一直以來都靠部分給分 很羨慕那種可以寫出整過能run的人
: 想問有甚麼方法可以幫助我非常清楚題目的架構 然後寫起來不會太亂
: 我常常都東寫一點 然後西試一下 只要不能run馬上又打別的寫法
: 每次都debug很久 可是如果不考是我都可以很冷靜的寫出來(可是時間很長)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.242.64