Algorithm/Problem Solving

소수란? Idea 소수 판별하기 : 소수는 1이외의 약수가 없으므로 1보다 크고 자신보다 작은 자연수로 나누었을 때 나누어떨어지지 않아야한다. Code #include using namespace std; bool isPrime(int n) { int i = 2; while (i > n; for (int i = 0; i > num; if (num != 1 && isPrime(num)) count++; } cout
Idea 특이점 : n==0일 때, 1 출력 나머지는 1*2*3*4*...*n 한 것을 출력하면 됨. Code #include using namespace std; int main() { int n, fact = 1; cin >> n; if (n == 0) fact = 1; else { for (int i = 1; i < n + 1; i++) { fact *= i; } } cout
Idea 정답률은 낮지만, 아이디어 자체는 매우 간단했다. X보다 작은 수를 어디에 저장해두거나 하라한 것이 아니다. 그저 출력하기만 된다. 입력받는 족족 X보다 작은지 체크해서 작다면 공백과 함께 출력하면 되는 것이다. Code #include using namespace std; int main() { int n, x, num; cin >> n >> x; for (int i = 0; i > num; if (num < x) { cout
Idea 줄 수는 n개이다. 첫번째줄을 1, i번째 줄을 i라고 표현해보자. n번째 줄까지 반복한다. 띄어쓰기는 n-i번 나온다. 예) n=3일 때, 첫째줄에는 띄어쓰기 2번, 둘째줄에는 1번, 셋째줄에는 0번 "* "를 한 세트로 생각한다. i번째 줄에 i세트씩 등장한다. Code #include using namespace std; int main() { int n; cin >> n; for (int i = 1; i 0; j--) { cout
Idea 줄 수는 n이다. '* '를 한 세트로 생각하자. 이 세트는, 한 줄에 n번 반복됨을 알 수 있다. 짝수줄은 띄어쓰기 한 번 하고 시작한다. Code #include using namespace std; int main() { int n; cin >> n; for (int i = 1; i < n + 1; i++){ if (i % 2 == 0) { cout
Idea 윗칸의 점 개수를 고정하고, 아랫칸은 0부터 윗칸의 점 개수와 같아질 때까지 하나씩 증가시킨다. 아랫칸과 윗칸의 점 개수가 같아지면, 윗칸의 점 개수를 하나 늘린 뒤 과정을 반복한다. 윗칸과 아랫칸의 점 개수가 모두 n과 같아질 때까지 위의 과정을 반복한다. n==2인 경우 n==3인 경우 Code #include using namespace std; int main() { int n; int sum = 0; cin >> n; for (int i = 0; i < n+1; i++) { for (int j = 0; j < i+1; j++) { sum += i + j; } } cout
Idea (꼭짓점의 수) - (모서리의 수) + (면의 수) = 2 이므로 (면의 수) = 2 + (모서리의 수) - (꼭짓점의 수) Code #include using namespace std; int main() { int t, v, e; cin >> t; for (int i = 0; i > v >> e; cout
Idea 그냥 그때그때 합을 출력해주면 될 것 Code #include using namespace std; int main() { int t, num1, num2; cin >> t; for (int i = 1; i > num1 >> num2; cout
정쫀쪼
'Algorithm/Problem Solving' 카테고리의 글 목록 (6 Page)