top of page

소스 코드 제출

공개·회원 52명

20250606

/*

#include <stdio.h>

int cr[31]={}; //분자

int cn[31]={}; //분모

int Nc(int n,int n2,int c,int m) //cn[] 배열에 r-- 값 추가

{

if(n==c)

{

cn[m]=n;

return 0;

}

cn[m]=n;

n--;

return Nc(n,n2,c,m);

}

int Rc(int r,int r2,int c,int m) //cr[] 배열에 r-- 값 추가

{

if(r==c)

{

cr[m]=r;

return r2;

}

cr[m]=r;

m++;

r--;

return Rc(r,r2,c,m);

}

int Rf(int r,int r2,int m) //cr[] 배열에 r-- 값 추가

{

if(r==0)

{

return r2;

}

cr[m]=r;

m++;

r--;

return Rf(r,r2,m);

}

int Nf(int n,int n2,int m) //cn[] r-- 값 배열에 추가

{

if(n==0)

{

return n2;

}

cn[m]=n;

n++;

n--;

return Nf(n,n2,m);

}

void dev(int m,int m1) //cr 분자 배열 약분, cr 분자 배열 약분 후 cn 분모 배열 1로 바꾸기

{

if(cn[m]==0) //분모 배열이 이제 계산할게 더이상 없는가?

{

return;

}

if(cr[m1]==0) //분자 배열이 분모와 다 한 바퀴씩 약분 했는가?

{

m1=1;

m++;

}

if(cn[m]%cr[m1]==0) //cn 배열, cr 배열 약분

{

cn[m]=cn[m]/cr[m1];

cr[m1]=1;

printf("%d, ",cn[m]);

}

return dev(m,m1+1);

}

int f(int m,int n)

{

if(cn[m]==0)

{

return n;

}

n=n*cn[m];

return f(m+1,n);

}

int main()

{

int n,n2=1,c,r,r2=1,m=1,m1=1;

scanf("%d %d",&n,&r);

if(n>r)

{

c=n-r; //c에 변수 추가

c++; //~ 가 더 크다면을 위한 변수 (Nc void 함수 에서 'n 이 c 와 같다면?' 인 코드, Nc void 함수는 cn[] 배열에 방금 전 코드가 될때까지 반복하여 r-- 값 계산 후 배열에 값 저장

n=Nc(n,n2,c,m); //Nc void 함수 실행

m=1; //m 값 초기화

c=Rf(r,r2,m); //cr[] 배열에 r-- 값 추가

m=1; //m 값 초기화

dev(m,m1); //cr 분자 배열 약분, cr 분자 배열 약분 후 cn 분모 배열 1로 바꾸기

m=1;

n=1;

n=f(m,n);

}

else

{

c=r-n; //c에 변수 추가

c++; //~ 가 더 크다면을 위한 변수 (Nc void 함수 에서 'n 이 c 와 같다면?' 인 코드, Nc void 함수는 cn[] 배열에 방금 전 코드가 될때까지 반복하여 r-- 값 계산 후 배열에 값 저장

n=Rc(r,r2,c,m); //Rc void 함수 실행

m=1; //m 값 초기화

c=Nf(n,n2,m); //Nf void 함수 실행

m=1; //m 값 초기화

dev(m,m1); //cr 분자 배열 약분, cr 분자 배열 약분 후 cn 분모 배열 1로 바꾸기

m=1;

n=1;

n=f(m,n);

}

printf("\n%d",n);

return 0;

}

*/



#include <stdio.h>

int f(int m,int n,int c)

{

if(n<c)

{

printf("%d ",m);

return m;

}

m=m*n;

return f(m,n-1,c);

}

int Fc(int m,int c)

{

if(c==0)

{

printf("%d ",m);

return m;

}

m=m*c;

return Fc(m,c-1);

}

int main()

{

int n,c,r,m=1,co,f1,c1;

scanf("%d %d",&n,&r);

if(n<r)

{

c=r;

r=n;

n=c;

}

c=n-r;

f1=f(m,n,c);

c1=Fc(m,c);

co=f1/c1;

printf("%d",co);

}

2회 조회
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546 ,     031) 215 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호
bottom of page