/*
#include<stdio.h> ---->1087
int main()
{
int n,sum=0,i;
scanf("%d",&n);
for(i = 1; i <=n; i++)
{
sum += i;
if(sum >= n)
{
printf("%d",sum);
break;
}
}
return 0;
}
*/
/*
#include<stdio.h> ---->1269
int main()
{
int a,b,c,n,result;
scanf("%d %d %d %d",&a, &b, &c, &n);
result = a;
for(int i=2; i<=n; i++)
{
result = result*b + c;
}
printf("%d",result);
return 0;
}
*/
/*
#include<stdio.h> --->1280
int main()
{
int a,b,i,result=0;
scanf("%d %d",&a, &b);
for(i = a; i <= b; i++)
{
if(i%2 == 0)
{
printf("-%d",i);
result -= i;
}
else
{
printf("+%d",i);
result += i;
}
}
printf("=%d",result);
return 0;
}
*/
/*
#include <stdio.h> ---->1408
int main()
{
char arr[20];
int i;
gets(arr);
for(i = 0; arr[i] != 0; i++)
{
printf("%c",arr[i]+2);
}
printf("\n");
for(i = 0; arr[i] != 0; i++)
{
printf("%c",(arr[i]*7)%80 + 48);
}
return 0;
}
*/
/*
#include <stdio.h>
#include <string.h>
// 메모리 할당 allocation
//char abc [100]= {};
char str[n];
char* str = (char*) malloc(sizeof(char)*n);
int arr[n]={}; // 초기화
int* arr = (int*)calloc(n,sizeof(int));
realloc(arr,sizeof(int)*(n-2));
free(arr);
char* substr(char* str, int start, int finish)
{
int i;
for (i=start-1 ; i<finish ; i++)
{
abc[i-start+1]=str[i];
}
return abc;
}
int main()
{
int start, finish;
char str[100]= {};
scanf("%s",str);
scanf("%d %d",&start, &finish);
printf("%s", substr(str,start,finish));
return 0;
}//char str[n];
char* str = (char*) malloc(sizeof(char)*n);
int main()
{
//메모리의 동적할당
int n=10;
//1. 0으로 초기화 안하고,ㅡ n칸 할당받기
//int* arr = (int*)malloc( sizeof(int) * n ); //int arr[n];
//2. 0으로 초기화하면서, n칸 할당받기
int* arr = (int*)calloc( n , sizeof(int) );
for(int i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
realloc(arr,sizeof(int)*(n+3)); // 3. arr를 n+3칸으로 재할당받을게
for(int i=0;i<n+3;i++)
{
printf("%d ",arr[i]);
}
free(arr); // arr가 할당받은 칸들 bye...
printf("\n");
for(int i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
//int arr[n]= {}; // 초기화
// int* arr = (int*)calloc(n,sizeof(int));
//
// realloc(arr,sizeof(int)*(n-2));
}
*/
/*
#include <stdio.h> --->4726
int main()
{
int arr[100001]={};
int i,j,n,k,sum=0,max=-100*100000;
scanf("%d %d",&n,&k);
for (i=1 ; i<=n ; i++)
{
scanf("%d",&arr[i]);
}
for (i=1 ; i<=n-(k-1) ; i++)
{
sum=0;
for (j=i ; j<i+k ; j++)
{
sum = sum+arr[j];
}
// printf("%d ",sum);
if (max<sum)
{
max=sum;
}
}
printf("%d",max);
return 0;
}
*/
/*
#include <stdio.h> -->4776
int main()
{
int year,i,j;
scanf("%d",&year);
int arr[10]={0,1,2,3,4,5,6,7,8,9};
char str[12]={'A','B','C','D','E','F','G','H','I','J','K','L'};
i=(year-4)%10;
j=(year-4)%12;
printf("%c%d" ,str[j],arr[i]);
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int year,i,j;
scanf("%d",&year);
i=(year-4)%10;
j=(year-4)%12;
printf("%c%d" ,j+'A',i);
return 0;
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *list;
int i,students;
printf("학생의 수: ");
scanf("%d",&students);
list = (int*)malloc(students*sizeof(int));
if (list == NULL)
{
printf("동적 메모리 할당 오류\n");
exit(1);
}
for (i=0 ; i<students ; i++)
{
printf("학생 #%d 성적:",i+1);
scanf("%d",&list[i]);
}
printf("=====================\n");
for (i=0 ; i<students ; i++)
{
printf("학생 #%d 성적: %d\n",i+1,list[i]);
}
printf("=====================");
free(list);
return 0;
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct book
{
int number;
char title[50];
};
int main()
{
struct book *p;
p= (struct book *)malloc(2*sizeof(struct book));
if(p==NULL)
{
printf("메모리 할당 오류\n");
exit(1);
}
p[0].number = 1;
strcpy(p[0].title,"C Programming");
p[1].number=2;
strcpy(p[1].title,"Data Structure");
printf("%d: %s\n",p[0].number,p[0].title);
printf("%d: %s",p[1].number,p[1].title);
free(p);
return 0;
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char* list[10];
int i;
for (i=0 ; i<10 ; i++)
{
list[i]=(char*)malloc(100*sizeof(char));
if(list[i]==NULL)
{
printf("malloc() 실패!\n\n");
exit(1);
}
strcpy(list[i],"test string");
}
for (i = 0 ; i<10 ; i++)
{
printf("문자열 %d: %s\n",i,list[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("정수 2개를 저장할 공간이 필요 \n");
int *list;
list = (int*)malloc(sizeof(int)*2);
int i;
int *list_new;
list[0]=10;
list[1]=20;
printf("정수 3개를 저장할 공간으로 확장 \n");
list_new= realloc(list, sizeof(int)*3);
list_new[2]=30;
for (i=0 ; i<3 ; i++)
{
printf("%d ",list_new[i]);
}
printf("\n");
return 0;
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,res=0;
int *sum;
printf("정수의 개수: ");
scanf("%d",&n);
sum = (int*)malloc(n*sizeof(int));
if (sum == NULL)
{
printf("동적 메모리 할당 오류\n");
exit(1);
}
for (i=0 ; i<n ; i++)
{
printf("양의 정수를 입력하시오: ");
scanf("%d",&sum[i]);
}
for (i=0 ; i<n ; i++)
{
res=res+sum[i];
}
printf("합은 %d입니다.\n",res);
return 0;
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
char**A = NULL;
int n,i;
printf("문자열의 개수: ");
scanf("%d",&n);
A=malloc(n*sizeof(char*));
if (A!=NULL)
{
for (i=0 ; i<n ; i++)
{
A[i]=(char*)malloc(100);
if(A[i]==NULL)
{
printf("malloc 실패!\n\n");
exit(1);
}
strcpy(A[i], "문자열");
}
}
for (i=0 ; i<n; i++)
{
printf("\"%s%d\" ",A[i],i);
}
return 0;
}
*/
/*
#include <stdio.h>
#include <stdlib.h>
typedef struct addr
{
char name[20];
char phone[14];
}HOME;
int main()
{
HOME *homes;
int size,i;
printf("주소의 개수: ");
scanf("%d",&size);
getchar();
homes=(HOME*)malloc(sizeof(HOME)*size);
if(homes==NULL)
{
printf("동적 메모리 할당 오류");
exit(1);
}
for (i=0 ; i<size ; i++)
{
printf("이름을 입력하시오: ");
gets(homes[i].name);
printf("휴대폰 번호를 입력하시오: ");
gets(homes[i].phone);
}
printf("==========================\n");
printf("이름 휴대폰 번호\n");
printf("==========================\n");
for (i=0 ; i<size ; i++)
{
printf("%s\t%s\n",homes[i].name,homes[i].phone);
}
printf("\n==========================");
free(homes);
return 0;
}
*/