#include<stdio.h>
#include<string.h>

#define MAX 100

int main(){
	char in[MAX];
	int num1[MAX],num2[MAX],Dap[2*MAX+2],l_1,l_2,i,j,k;
	printf("input num1\n>>>");
	scanf("%s",in);
	l_1=strlen(in);
	for(i=l_1-1;i>=0;i--) num1[i]=in[l_1-1-i]-48;
	printf("input num2\n>>>");
	scanf("%s",in);
	l_2=strlen(in);
	for(i=l_2-1;i>=0;i--) num2[i]=in[l_2-1-i]-48;
	for(i=0;i<2*MAX+2;i++) Dap[i]=0;
	for(j=0;j<l_2;j++){
		for(i=0;i<l_1;i++){
		Dap[i+j]+=num1[i]*num2[j];
		for(k=i+j;k<201;k++){
			Dap[k+1]+=(Dap[k]/10);
			Dap[k]%=10;
		}
		}
	}
	for(i=l_1-1;i>=0;i--){
		printf("%d",num1[i]);
	}
	printf("\n");
	for(i=l_2-1;i>=0;i--){
		printf("%d",num2[i]);
	}
	printf("\n");
	for(i=l_1+l_2;i>=0;i--){
		printf("%d",Dap[i]);
	}
	return 0;
}

	
음.. 소인수 분해를 짜 보려고 했으나 그 전에 사전 연습 ..

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

난수발생 코드  (0) 2010.08.29
최대원소 찾기  (0) 2010.07.17
인수분해 프로그램  (8) 2010.06.13
#include<stdio.h>  (0) 2010.06.13
Posted by h-bar
:

난수발생 코드

2010. 8. 29. 14:30

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
 int i;
 srand(time(NULL));
 for(i=1;i<=5;i++){                 //5개의 난수가 생성된다.
  printf("%d\n",rand()%10);  //0부터 9까지의 숫자난수를 출력한다.
 }
 return 0;
}


여기서
rand()함수가 난수를 발생시키는 함수입니다. rand()의 값은 0부터 32767(=2^15-1)의 정수로 출력된다.
그런데 rand()함수는 난수를 발생시키기 위한 초기값(?) 같은 숫자 시드를 설정할 필요하다.
안그러면 계속 같은 값만을 출력시킬 것이다.

그 시드를 설정하는 것이 srand()함수이다.
이때 임의의 값을 가지는 숫자로 적당한 것이 그 프로그램이 실행되는 시각인데 이는 time()함수로 얻을 수 있다.

rand() , srand() 함수는 <stdlib.h> 에 있고,
time() 함수는 <time.h> 에있다.

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

곱하기 (100자리 자연수)  (2) 2010.11.24
최대원소 찾기  (0) 2010.07.17
인수분해 프로그램  (8) 2010.06.13
#include<stdio.h>  (0) 2010.06.13
Posted by h-bar
:

최대원소 찾기

2010. 7. 17. 02:53

#include<stdio.h>
int main(){
     int a,b,num,i;
     printf("자료의 갯수?\n>>>");
     scanf("%d",&num);
     printf("\n입력하세요\n>>>");
     scanf("%d",&a);
     for(i=1;i<=num-1;i++){
          printf("\n입력하세요\n>>>");
          scanf("%d",&b);
          if(b>a)a=b;
     }
     printf("\n최댓값은 %d 입니다.\n",a);
}

중간값따위는 필요없으니 중간중간 바꿔주시면서 변수갯수줄이기
변수갯수를 일반화 하려니 변수가 두개나 늘어나 버렸네요..

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

곱하기 (100자리 자연수)  (2) 2010.11.24
난수발생 코드  (0) 2010.08.29
인수분해 프로그램  (8) 2010.06.13
#include<stdio.h>  (0) 2010.06.13
Posted by h-bar
:

인수분해 프로그램

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 :