/*#include <stdio.h>
int isPrime(int n)
{
int i, cnt=0;
for(i=1;i<=n;i++)
{
if(n%i==0) // i가 n의 약수이면
{
if(cnt>=3) return 0;
cnt++;
}
}
return (cnt==2);
}
int main()
{
int n, ans = 0;
scanf("%d", &n);
for(int i = 1 ; i <= n ; i++ )
if( isPrime(i) )
ans += i;
printf("%d", ans);
return 0;
}
#include <stdio.h>
int n;
int f(int n)
{
int i ,a=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
{
a++;
}
}
return a;
}
int main()
{
scanf("%d", &n);
printf("%d\n", f(n));
}
#include <stdio.h>
int n, a, b, d[1010];
long long int subsetsum(int a, int b)
{
int i;
long long int c=0;
for(i=a;i<=b;i++)
{
c=c+d[i];
}
return c;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d%d", &a, &b);
printf("%lld\n", subsetsum(a, b));
}
#include <stdio.h>
int n, k, d[1010];
int upper_bound(int k)
{
int i;
for(i=1;i<=n;i++)
{
if(d[i]>k)
{
return i;
}
}
return n+1;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", upper_bound(k));
}
#include <stdio.h>
int n, d[110];
int f()
{
int i, max=0; //최댓값의 위치
for(i=0;i<n;i++)
{
if(d[max]<d[i])
{
max=i;
}
}
return max+1;
}
int main()
{
scanf("%d", &n);
for(int i=0; i<n; i++)
scanf("%d", &d[i]);
printf("%d", f());
return 0;
}
#include <stdio.h>
int n;
long long int d[110];
long long int f()
{
long long int i, a=100000000000000000000000000000;
for(i=1;i<=n;i++)
{
if(d[i]<a)
{
a=d[i];
}
}
return a;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%lld", &d[i]);
printf("%lld", f());
return 0;
}
#include <stdio.h>
int n, d[100010], k;
int f(int k)
{
int i;
for(i=1;i<=n;i++)
{
if(d[i]==k)
{
return i;
}
}
return -1;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", f(k));
}
#include <stdio.h>
long long int n;
long long int f(long long int n)
{
long long int i=0;
while(n!=0)
{
i=n%10+i*10;
n=n/10;
}
return i;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
#include<stdio.h>
int n;
int f(int n)
{
int i=0;
while(n!=0)
{
i=i+n%10;
n=n/10;
}
return i;
}
int main()
{
int sum;
scanf("%d", &n);
while(1)
{
sum=f(n); // n의 각 자리수의 합을 구한다
if(sum/10==0)
{
break;
}
n=sum;
}
printf("%d", sum);
}
void f(int n)
{
for(int i=n;i>=1;i--) printf("%d ",i);
}
재귀함수 : 다시 자신으로 돌아오는 함수
함수 내에서 자신을 호출하는 부분이 있는 함수
자신으로 다시 정의 내리는 함수
f(n) : n부터 1까지 출력
: n출력 -> n-1부터 1까지 출력
: n출력 -> f(n-1) (n이 0보다 클 때)
*/
/*
#include <stdio.h>
void f(int n)
{
if(n==0) //1. 종료조건
{
return ;
}
printf("%d ",n);
f(n-1); //2.재귀호출
}
int main()
{
int n;
scanf("%d",&n);
f(n);
}
f(n) : 1부터 n까지 출력
: 1~n-1출력 -> n출력
: f(n-1) -> n출력 (n이 1이상)
#include<stdio.h>
void f(int n)
{
if(n==0) return ;
f(n-1);
printf("%d ",n);
}
int main()
{
int n;
scanf("%d", &n);
f(n);
}
//(a<=b으로 무조건 입력된다)
//f(a,b) : a부터 b까지 출력
#include<stdio.h>
void f(int a, int b)
{
if(b<a) return;
f(a, b-1);
printf("%d ", b);
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
f(a, b);
}
f(n) : 1부터 n까지의 합 리턴
: 1~ n-1합 + n 리턴
: f(n-1) + n 리턴 ( n==1이면 return 1)
f(1) 1
f(2) 3
...
f(1) return (1+f(0)); ---> return 1;
f(3) return ( 3 +f(2) );
f(4) return (4 +f(3) );
...
f(n) return (n+f(n-1)); (n이 1이 아닐때만)
#include<stdio.h>
int f(int n)
{
if(n==1) return 1;
return f(n-1)+n;
}
int main()
{
int n;
scanf("%d", &n);
printf("%d",f(n));
}
*/