前回の記事の問題をJavaで解いてみた.問題については前回の記事を参照してください.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test=sc.nextInt(); System.out.println(getprimenum(test)); } private static int getprimenum(int prime){ int count=0; int now=2; if(prime==1){return 0;} else{ while(now<prime){ if(primecheck(now)){count++;} now++; } } return count; } private static boolean primecheck(int testprime){ if(testprime==2){return true;} else{ for(int n=2;n<testprime;n++){ if(testprime%n==0)return false; } return true; } } }
考え方に関しても前回の記事を参照.結果としては20MBのメモリ使用率で995msecでクリア.
ちなみにCではメモリ使用率748KB,実行時間は46msec.
同じことに対してのコードであってもこういう風に違うという観点の話を大学でしないことが残念でならない.
プログラミング言語で何をやるかという観点も非常に大事だ.その一方で,プログラミング言語はどのような特性を持ち得ているのか
ということを考えるべきだ.
何をやるかとのたまうことは正直な話,誰にでもできる.
大学が目指すべきはそのアイデアを具体的な形にすることのできる技術についても考えることのできる人材なのだが……
その道は遠そうだと自らの大学のカリキュラムを見て思うのであった.