인수분해 프로그램

2010. 6. 13. 16:38

심심해서 짜봤다..
뭐 고등학교와서 처음 C를 배우는 거라 익숙하지 않긴 해도
프로그래밍이란걸 공학용 계산기에서 처음 해봤던지라 알고리즘짜는건 어느정도 할 수 있다..
여튼 이게 아마 그나마 실용적인 내가 만든 첫 C 프로그램일 것이다.
*넣는 과정이 약간 어려웠다. 이거 어디다 넣어둬야 하는지가 어려웠어서..
만들어놓고 실행해 보니 그 속도에 놀랐다.
계산기에서 한참걸리는게 1초도 안되서 나온다는게..


#include<stdio.h>
#include<math.h>
void main(){
 int a,n=0,i,f=0;
 printf("a=");
 scanf("%d",&a);

 printf("\na=");
 if(a==1){
  printf("1\n");
  printf("FINISH\n");
 }

 if(a%2==0){
  f=1;
  while(a%2==0){
   a=a/2;
   n+=1;
  }
  printf("2^%d ",n);
  n=0;
 }

 for(i=3;i<=sqrt(a);i=i+2){
  if(a%i==0){
   n=0;
   while(a%i==0){
    a=a/i;
    n+=1;
   }
   if(f==0){
    printf("%d^%d ",i,n);
    f=1;
    n=0;
   }
   else{
    printf("* %d^%d ",i,n);
    n=0;
   }

  }
  if(a==1){
   break;
  }
 }
 if(a!=1){
  if(f==0){
   printf(" %d^1\n",a);
   printf("Finish\n");
  }
  else{
   printf("* %d^1\n",a);
   printf("Finish\n");
  }
 }
 else{
  printf("\nFinish");
 }
}

'C언어' 카테고리의 다른 글

곱하기 (100자리 자연수)  (2) 2010.11.24
난수발생 코드  (0) 2010.08.29
최대원소 찾기  (0) 2010.07.17
#include<stdio.h>  (0) 2010.06.13
Posted by h-bar
:

#include<stdio.h>

2010. 6. 13. 16:31

어지간한 프로그램을 짤 때에 가장 위에 쓰는 문구입니다.

그뜻은
#include : <>안의 파일을 여기에 포함시켜라
stdio.h : STanDard Input/Output . Header

표준 입출력 함수들을 모아 놓은 헤더파일입니다.

예를들어 printf()라던가 scanf()라던가 등등..

<stdio.h>말고도
<conio.h>, <math.h>, <time.h> 등등 많다고 합니다..

'C언어' 카테고리의 다른 글

곱하기 (100자리 자연수)  (2) 2010.11.24
난수발생 코드  (0) 2010.08.29
최대원소 찾기  (0) 2010.07.17
인수분해 프로그램  (8) 2010.06.13
Posted by h-bar
:

BLOG main image
by h-bar

공지사항

카테고리

안녕하세요 (55)
그냥... (25)
물리 (10)
수학 (10)
C언어 (5)
음악 (3)
퀴즈 (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :