심심해서 짜봤다..
뭐 고등학교와서 처음 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 |