본문 바로가기

Programming

[C++] 백준 1475번 : 방 번호 https://www.acmicpc.net/problem/1475 #include using namespace std;int main() {int n;cin >> n;int cnt=0;int N_div=1; int m = n;while (1) {if (m / 10 > 0) {cnt++;m = m / 10;N_div = N_div * 10;}elsebreak;} int number[9];for (int i = 0; i < 9; i++) number[i] = 0; for (int i = 0; i 더보기
[C++] 백준 1237번 : 정ㅋ벅ㅋ https://www.acmicpc.net/problem/1237 #include using namespace std;int main(){ cout 더보기
[C++] 백준 1193번 : 분수찾기 https://www.acmicpc.net/problem/1193 #include using namespace std;int main() {int n = 1, num;int a, b;cin >> num; while ((1 + n)*n / 2 < num) { n++; }if (n % 2)//짝수{num = num - n * (n - 1) / 2;a = n - num + 1;b = num;}else {num = num - n * (n - 1) / 2;a = num;b = n - num + 1;}cout 더보기
스레드 블록 아키텍처(Thread Block Architecture) - 그리드 블록 모델 -2 2.3 스레드 블록 생성 가이드라인 -CUDA 프로그래밍에서 1개의 블록은 최대 512개의 스레드를 가질 수 있다. -프로그램을 구현할떄 1개 블록이 가지는 스레드의 개수는 32 또는 64의 배수로 지정하는 것이 좋다.(SM이 32배수 단위로 동작하게 되어 있기 때문에 나머지가 발생하지 않는다. NVIDIA의 사양서는 64배수를 권장한다.) -최대 블록의 크기는 65,535 X 65,535 까지 지정할 수 있으므로 CUDA프로그래밍의 스레드와 블록의 수는 작업을 분할하는 기준으로 많은 수를 지정하는 것이 좋다. 그러면 GPU는 SM단위로 블록을 처리하면서 작업을 진행하게 된다. | GPU의 블록 단위 작업 처리 | CUDA 프로그램의 자동 확장성 위의 그림은 SM이 프로그램을 블록 단위로 병렬처리하는 과.. 더보기
[C++] 백준 10808번 : 알바뱃 개수 https://www.acmicpc.net/problem/10808 #include #include using namespace std; int main() { string S; cin >> S; int alpha[26] = { 0 }; for (int i = 0; i < S.length(); i++) alpha[S[i] - 97]++; for (int i = 0; i < 26; i++) cout 더보기
[C++] 백준 2475번 : 검증수 https://www.acmicpc.net/problem/2475 #include using namespace std; int main() { int num[5] = { 0 }; for (int i = 0; i > num[i]; num[i] = num[i] * num[i]; if (i != 0)num[0] += num[i]; } cout 더보기
[C++] 백준 2747번 : 피보나치 수 https://www.acmicpc.net/problem/2747 #include using namespace std; int main() { int n; cin >> n; int F[45]; F[0] = 0; F[1] = F[2] = 1; for (int i = 3; i 더보기
[C++] 백준 1427번 : 소트인사이드 https://www.acmicpc.net/problem/1427 #include #include using namespace std; int main() {string N;cin >> N;int *Array = new int[N.length()];int i = 0;for (int j = stoi(N); j != 0; j /= 10) Array[i++] = j % 10;for (int i = 0; i < N.length() - 1; i++) {int max = i;for (int j = i; j < N.length(); j++)if (Array[max] < Array[j]) max = j;int tmp = Array[max];Array[max] = Array[i];Array[i] = tmp;}for (i.. 더보기