Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 건전한 취미생활
- A - B
- 건전한
- VOCALOID
- 메일
- 학습생활
- 연결리스트
- *Luna
- 텍스트 관련
- Python
- PyQT5
- OSAM
- CSS
- 날씨
- 원소 추가
- 텍스트 관련 태그들
- 원소 삭제
- 프로젝트
- GUI
- 독학
- A×B
- 단계별로풀어보기
- 취미생활
- HTML
- C언어
- 과제
- 백준
- 구현
- c++
- 알고리즘
Archives
- Today
- Total
언유상씨의 건전한 취미생활
[백준 알고리즘] 쉽게 푸는 문제(1292번) C++로 풀기 본문
문제 이름 : 쉽게 푸는 문제
문제 번호 : 1292
사용 언어 : C++
문제는 다음과 같다.
1000번째 숫자를 찾아보자.
n*(n+1) / 2 = 1000
n은 45 언저리가 된다.
이를 통해 1부터 45까지 각 숫자 만큼 그 숫자를 넣어주면서,
원하는 인덱스 범위 안에 들어갈 경우에는 그 값들을 모두 더해주면 된다.
소스 코드는 아래와 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <utility>
#include <cmath>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int a, b;
int sum = 0, cnt = 0;
cin >> a >> b;
for (int i = 1; i <= 45; i++) { // 들어갈 숫자
for (int j = 1; j <= i; j++) { // 몇개 들어갈지 정함
cnt++;
if (cnt >= a && cnt <= b) { // a와 b에 맞는지 확인
sum += i;
}
if (cnt == b) break; // 탈출용
}
if (cnt == b) break; // 탈출용
}
cout << sum;
return 0;
}
|
cs |
제출해보면
'건전한 취미생활 - 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 신입 사원(1946) C++로 풀기 (3) | 2020.05.24 |
---|---|
[백준 알고리즘] 욱제는 결정장애야!! (14646) C++로 풀기 (0) | 2020.05.19 |
[백준 알고리즘] 인기 투표(11637) C++로 풀기 (0) | 2020.05.15 |
[백준 알고리즘] 영식이와 친구들(1592번) C++로 풀기 (1) | 2020.05.13 |
[연결리스트] 원소의 삭제와 추가 - 소스 코드 (0) | 2020.05.11 |
Comments