Á¢¼Ó¿¡ ¼º°øÇϼ̱º¿ä! ÃàÇÏÇÕ´Ï´Ù.
¾Æ·¡ÀÇ ÇÁ·Î±×·¥À» ºÐ¼®Çϰí, Ʋ¸° ºÎºÐÀ» ãÀ¸½Ã¿À!
¸ÕÀú, ¼øÈ¯¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÑ ÇÁ·Î±×·¥À̰í, ¼öÇÐÀ» ÀÌ¿ëÇÑ ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
±×¸®°í ¸¶Áö¸·À¸·Î µ¿ÀûÇ¥¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
1.¼ýÀÚ µÚÁý±â
(input)
12345
(output)
54321
(ÇÁ·Î±×·¥-1, ¼øÈ¯¾Ë°í¸®Áò)
#include<stdio.h>
#include<math.h>
int f(int p)
{
if(p==0)return 0;
printf("%d",p%10);
f(p/10);
return 0;
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
(ÇÁ·Î±×·¥-2, ¼öÇÐÀ» ÀÌ¿ë)
#include<stdio.h>
#include<math.h>
int f(int p)
{
if(p<10)return p;
return f(p/10)+(p%10) * powf(10.0,(int)log10((double)p));
}
int main()
{
int n,k;
scanf("%d",&n);
k = f(n);
printf("%d\n",k);
return 0;
}
(ÇÁ·Î±×·¥-3, µ¿ÀûÇ¥¸¦ ÀÌ¿ë)
#include<stdio.h>
#include<math.h>
int d[100001];
int f(int p)
{
if(p<10)return p;
if(!d[p]) d[p] = f(p/10)+(p%10) * powf(10.0,(int)log10((double)p));
return d[p];
}
int main()
{
int n,k;
scanf("%d",&n);
k = f(n);
printf("%d\n",k);
return 0;
}
2.Á¶ÇÕ
(input)
10 5
(ouput)
252
(ÇÁ·Î±×·¥-1, ¼øÈ¯¾Ë°í¸®Áò)
#include<stdio.h>
int f(int p, int q)
{
if(p==q)return 1;
if(q==1)return p;
return f(p-1,q-1) + f(p-1,q);
}
int main()
{
int n,k;
scanf("%d %d",&n, &k);
k = f(n,k);
printf("%d\n",k);
return 0;
}
(ÇÁ·Î±×·¥-2, ¼öÇÐÀ» ÀÌ¿ë)
#include<stdio.h>
int f(int p, int q)
{
if(p==q)return 1;
if(q==1)return p;
return f(p,q-1)*(p-q+1)/q;
}
int main()
{
int n,k;
scanf("%d %d",&n, &k);
k = f(n,k);
printf("%d\n",k);
return 0;
}
(ÇÁ·Î±×·¥-3, µ¿ÀûÇ¥¸¦ ÀÌ¿ë)
#include<stdio.h>
int d[51][51];
int f(int p, int q)
{
if(p==q)return d[p][q]=1;
if(q==1)return d[p][q]=p;
if(!d[p][q]) d[p][q] = f(p,q-1)*(p-q+1)/q;
return d[p]q];
}
int main()
{
int n,k;
scanf("%d %d",&n, &k);
k = f(n,k);
printf("%d\n",k);
return 0;
}
3.1~n ÇÕ ±¸Çϱâ
(ÇÁ·Î±×·¥-1, ¼øÈ¯¾Ë°í¸®Áò)
#include<stdio.h>
int f(int n)
{
if(n==1) return 1;
return f(n-1)+n;
}
int main()
{
int n, k;
scanf("%d", &n);
k=f(n);
printf("%d\n",k);
return 0;
}
(ÇÁ·Î±×·¥-2, ¼öÇÐÀ» ÀÌ¿ë)
#include<stdio.h>
int f(int n)
{
if(n==1) return 1;
return 2*f(n/2)+((n+1)/2)*((n+1)/2);
}
int main()
{
int n, k;
scanf("%d",&n);
k = f(n);
printf("%d\n",k);
return 0;
}
(ÇÁ·Î±×·¥-3, µ¿ÀûÇ¥¸¦ ÀÌ¿ë)
#include<stdio.h>
int d[100001];
int f(int n)
{
if(n==1) return 1;
if(!d[n]) d[n] = 2*f(n/2)+((n+1)/2)*((n+1)/2);
return d[n];
}
int main()
{
int n, k;
scanf("%d",&n);
k = f(n);
printf("%d\n",k);
return 0;
}
4. ÇǺ¸³ªÄ¡ ¼ö¿
(ÇÁ·Î±×·¥-1, ¼øÈ¯¾Ë°í¸®Áò)
#include<stdio.h>
int f(int n)
{
if(n<=2) return 1;
return f(n-1)+f(n-2);
}
int main()
{
int n;
scanf("%d", &n);
printf("%d\n",f(n));
return 0;
}
(ÇÁ·Î±×·¥-2, µ¿ÀûÇ¥¸¦ ÀÌ¿ë)
#include<stdio.h>
int d[100001];
int f(int n)
{
if(n<=2) return 1;
if(!d[n]) d[n]= f(n-1)+f(n-2);
return d[n];
}
int main()
{
int n;
scanf("%d", &n);
printf("%d\n",f(n));
return 0;
}
5. ¹®Á¦¸¦ ÇØ°áÇϼ¼¿ä!
[¹®Á¦]
°°Àº Å©±âÀÇ Á¤»ç°¢Çü Á¾À̰¡ nÀå ÀÖ´Ù.
ÀÌ Á¾À̵éÀ» ¹Øº¯À» ÆòÇàÇÏ°Ô ¿¬°áÇÏ¿© ¸î °³¸¦ ³ª¿Çß´Ù.
¸Ç ¾Æ·¡¿¡ ³ª¿ÇÑ º¯ÀÇ ±æÀÌ´Â ¹Ù·Î À º¯ÀÇ ±æÀ̺¸´Ù °°°Å³ª ±æ¾î¾ß ÇÑ´Ù.
nÀÌ ÀÔ·ÂµÉ ¶§ °¡´ÉÇÑ ¹èÄ¡¸¦ ¸ðµÎ ±¸ÇϽÿÀ!
´Ü ¼ýÀÚÇüÅ·ΠǥÇöÇßÀ» ?, »çÀü¼ø¼·Î ³»¸²Â÷¼øÀ¸·Î ÇÑÁÙ¿¡ Çϳª¾¿ Ãâ·ÂÇϽÿÀ.
(input)
5
(output)
5
4 1
3 2
3 1 1
2 2 1
2 1 1 1
1 1 1 1 1
(ÇÁ·Î±×·¥-1)
#include<stdio.h>
int a[30], cnt;
int min(int a, int b)
{
return a>b ? b:a;
}
int f(int n, int k)
{
if(n==0){
for(int i=0; i<cnt; i++) printf("%d ",a[i]);
puts(" ");
return 0;
}
for(int i=min(n,k); i>=1; i--){
a[cnt++]=i;
f(n-i, i);
cnt--;
}
return 0;
}
int main()
{
int n;
scanf("%d", &n);
f(n,n);
return 0;
}
|