Programming/C
-
[C언어] 백준 #1110번 - while 더하기 사이클Programming/C 2021. 7. 15. 17:45
문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..
-
[C언어] 오른쪽 정렬으로 출력하기 (공백 이용)Programming/C 2021. 7. 8. 23:59
#백준 단계별 문제 2439번 문자를 오른쪽 정렬으로 출력하는 방법 1. 문자 앞에 공백 추가하기 [ex] 숫자 n을 입력받고 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, n번째 줄에는 별 n개를 출력한다면? (오른쪽 정렬으로) for (int m =n-1 ; m>=1 ; m--) printf(" "); 위 for문을 통해서 문자 앞에 ( 전체 문자 개수 - 출력하는 문자 개수) 만큼 공백을 넣어주는 것! 예를 들어 5를 입력받았다면, 첫번째 줄에는 '공백 4칸 + 문자 1개' 로 출력이 되어야한다. ( _ _ _ _ * ) 두번째 줄은 '공백 3칸 + 문자 2개' ( _ _ _ * * ) 그럼 이런 출력값을 얻을 수 있다
-
[C언어] 난수 생성하기 (rand 함수)Programming/C 2021. 7. 8. 23:19
숫자를 랜덤으로 생성하는 방법 // rand() 함수 쓰기 rand 함수를 쓰기 위해서는 헤더파일을 사용해야한다. → #include 0 ~ 100 범위에서 숫자를 랜덤으로 생성한다고 하면 rand()%101 을 사용하면 된다. ** rand()%101 : 무작위의 숫자를 101로 나눈 나머지 ** % → 나머지를 구할 때 사용 rand()%a → 0부터 (a-1)까지 숫자 중 랜덤 선택 rand()%a + 5 → 5부터 (a+4)까지 숫자 중 랜덤 선택 . . 정리하자면 N, T 까지의 범위의 난수를 생성하고싶다면 → rand() % (T-N+1) + N [ex] 1부터 100까지 숫자 중 n개를 랜덤으로 출력 (n개는 입력받기) → 단점 랜덤으로 숫자가 생성되지만, 실행할 때마다 수가 달라지지 않는다..