はなたの日記

プログラミング(C言語)の勉強をしています。超初心者です。

Volume0-0044 Prime Number II

問題
最小の素数と最大の素数 | Aizu Online Judge

入力された数付近の素数を求めるという問題です。
苦しむことなく実装できました。

#include<stdio.h>
#include<math.h>

int GetPrime(int n){
 int i;

  for(i=2;i<=sqrt(n);i++)
   if(n % i ==0)return 0;

   printf("%d",n);

return 1;
}


int main(){
 int n,i;

 while(scanf("%d",&n)!=EOF){

  for(i=n-1;i>=2;i--)
   if(GetPrime(i))break;

  printf(" ");

  for(i=n+1;i>=0;i++)
   if(GetPrime(i))break;

  printf("\n");

 }

return 0;

}

他の人のコードを見ると、なんでこんな短く書けるの!?ってぐらいスマートなものがあったりして、自分の未熟さを感じる日々です。