PS (C, C++)

[백준/C] 반복문

최연재 2022. 8. 20. 01:52

2739 구구단

#include <stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	for (int i = 1; i < 10; i++) printf("%d * %d = %d \n", n, i, n*i);
	return 0;
}

10950 A+B - 3

#include <stdio.h>

int main()
{
	int n, a, b;
	scanf("%d", &n);

	for (int i = 0; i < n; i++)
	{
		scanf("%d %d", &a, &b);
		printf("%d \n", a + b);
	}

	return 0;
}

8393 합

#include <stdio.h>

int main()
{
	int n, result=0;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) result += i;
	printf("%d", result);
	return 0;
}

25304 영수증

#include <stdio.h>

int main()
{
	long result, count, price, n, sum = 0;
	scanf("%ld", &result);
	scanf("%ld", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%ld %ld", &price, &count);
		sum += price * count;
	}

	if (result == sum) printf("Yes");
	else printf("No");

	return 0;
}

15552 빠른 A+B

#include <stdio.h>

int main()
{
    int a,b,n;
    scanf("%d", &n);
    
    for (int i=0; i<n; i++)
    {
        scanf("%d %d", &a,&b);
        printf("%d\n", a+b);
    }
    
    return 0;
}

11021 A+B - 7

#include <stdio.h>

int main()
{
	int n, a, b;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d %d", &a, &b);
		printf("Case #%d: %d\n", i + 1, a + b);
	}
	return 0;
}

11022 A+B - 8

#include <stdio.h>

int main()
{
	int n, a, b;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d %d", &a, &b);
		printf("Case #%d: %d + %d = %d\n", i + 1, a,b,a + b);
	}
	return 0;
}

2438 별 찍기 - 1

#include <stdio.h>

int main()
{
	int n;
	scanf("%d", &n);
	
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j <= i; j++) printf("*");
		printf("\n");
	}
	return 0;
}

2439 별 찍기 - 2

#include <stdio.h>

int main()
{
	int n;
	scanf("%d", & n);

	for (int i = 0; i < n; i++)
	{
		for (int j = (n-i-1); j > 0; j--) printf(" ");
		for (int k = 0; k <= i; k++) printf("*");
		printf("\n");
	}

	return 0;
}

10871 X보다 작은 수

#include <stdio.h>

int main()
{
	int n,key, num[10001];
	scanf("%d %d", &n, &key);

	for (int i = 0; i < n; i++) scanf("%d", &num[i]);
	for (int i = 0; i < n; i++) if (num[i] < key) printf("%d ", num[i]);

	return 0;
}

10952 A+B - 5

#include <stdio.h>

int main()
{
	int a, b;
	while (1)
	{
		scanf("%d %d", &a, &b);
		if (a == 0 && b == 0) break;
		printf("%d\n", a + b);
	}
	return 0;
}

10951 A+B - 4

#include <stdio.h>

int main()
{
	int  a, b;
	while (scanf("%d %d", &a, &b) != EOF) printf("%d\n", a + b);
	return 0;
}

이 문제의 경우는 처음에 아무 생각 없이 시작했다가 while문의 조건을 어떻게 해야 할지 몰라서 당황했던 문제이다. 이 문제를 푼 분들의 코드를 보고 알았다. 

 

참고한 풀이 링크 : https://develop247.tistory.com/7?category=1151153

 

1110 더하기 사이클

#include <stdio.h>

int main()
{
	int n, a, b, i = 0;
	scanf("%d", &n);
	int sum = n;

	while (1)
	{
		a = sum % 10;
		b = sum / 10 + sum % 10;
		if (b >= 10) b %= 10;

		sum = a * 10 + b;
		i++;
		if (n == sum) break;
	}

	printf("%d", i);
	return 0;
}

sum에 n에 저장된 값을 넣고, n == sum이 될 때까지 반복문을 돈다. 26 -> 68을 보면 26%10 = 6에 10을 곱한 값에 (26/10+26%10)%10을 더해서 새로운 값을 만든다. 십의 자리 a를 sum%10으로, 일의 자리 b를 (sum%10 + sum/10)%10로 구할 수 있다. 

'PS (C, C++)' 카테고리의 다른 글

[백준/C] 함수  (0) 2022.08.20
[백준/C] 1차원 배열  (0) 2022.08.20
[백준/C] 조건문  (0) 2022.08.20
[백준/C] 입출력과 사칙연산  (0) 2022.08.20
[백준/c] 1292 쉽게 푸는 문제  (0) 2022.08.20