-
다중반복 숫자출력2_220707데일리 codeup/다중 반복문 2022. 7. 7. 14:36
구구단
정상적인 구구단
정수 n의 값이 주어지면 n*n모양 구구단을 출력하는 프로그램을 작성해보세요.
입력
3
출력
1 * 1 = 1, 1 * 2 = 2, 1 * 3 = 3 2 * 1 = 2, 2 * 2 = 4, 2 * 3 = 6 3 * 1 = 3, 3 * 2 = 6, 3 * 3 = 9
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout << i << " * " << j << " = " << i*j; if(j==n) continue; cout<<", "; } cout << endl; } return 0; }
--
구구단 만들기
짝수인 정수 a, b를 입력받은 후, 두 숫자의 사이 중 짝수에 해당하는 숫자의 구구단을 예제와 같은 형식으로 출력하는 프로그램을 작성해보세요. b에서 a로 감소하며 출력합니다.
입력
2 6
출력
6 * 1 = 6 / 4 * 1 = 4 / 2 * 1 = 2 6 * 2 = 12 / 4 * 2 = 8 / 2 * 2 = 4 6 * 3 = 18 / 4 * 3 = 12 / 2 * 3 = 6 ...............(생략)............... 6 * 8 = 48 / 4 * 8 = 32 / 2 * 8 = 16 6 * 9 = 54 / 4 * 9 = 36 / 2 * 9 = 18
#include <iostream> using namespace std; int main(){ int a,b; cin >> a >> b; for(int i=1;i<=9;i++){ for(int j=b;j>=a;j-=2){ cout << (j/2)*2 << " * " << i << " = "<< (j/2)*2*i; if(j == a) continue; cout << " / "; } cout << endl; } return 0; }
구구단 만들기 2
정수 a, b를 입력받은 후, 두 숫자의 사이에 해당하는 숫자의 구구단을 예제와 같은 형식으로 출력하는 프로그램을 작성해보세요.
매 줄마다 b에서 a로 1씩 감소하며 출력합니다. 곱해지는 값은 첫 번째 줄에서는 2, 두 번째 줄에서는 4, 세 번째 줄에서는 6, 그리고 네 번째 줄에서는 8임에 유의합니다.
그 예로 a = 2, b = 4 일 때의 출력은 다음과 같습니다.
4 * 2 = 8 / 3 * 2 = 6 / 2 * 2 = 4 4 * 4 = 16 / 3 * 4 = 12 / 2 * 4 = 8 4 * 6 = 24 / 3 * 6 = 18 / 2 * 6 = 12 4 * 8 = 32 / 3 * 8 = 24 / 2 * 8 = 16
#include <iostream> using namespace std; int main(){ int a,b; cin >> a >> b; for(int i=2;i<10;i+=2){ for(int j=b;j>=a;j--){ cout << j << " * "<< i << " = "<< i*j; if(j==a) continue; cout << " / "; } cout << endl; } return 0; }
숫자출력
숫자 삼각형
정수 n의 값이 주어지면 숫자로 이루어진 삼각형을 출력하는 프로그램을 작성해보세요.
입력
5
출력
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++) cout << j << ' '; cout << endl; } return 0; }
숫자 피라미드
정수 n이 주어지면, 1부터 n까지의 수에 대해, i (1 ≤ i ≤ n) 번째 줄에 i개의 i를 출력하는 프로그램을 작성해보세요.
입력
8
출력
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++) cout << i << ' '; cout << endl; } return 0; }
숫자 피라미드 3
정수 n이 주어지면, 1부터 n까지의 수에 대해, i (1 ≤ i ≤ n) 번째 줄에 다음 조건에 맞게 i 개의 숫자를 출력하는 프로그램을 작성해보세요.
i 번째 줄의 j 번째 칸에는 i×j 를 출력합니다.
입력
4
출력
1 2 4 3 6 9 4 8 12 16
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++) cout << i*j << ' '; cout << endl; } return 0; }
숫자 피라미드 2
정수 n이 주어지면, i (1 ≤ i ≤ n) 번째 줄에 i개의 숫자를 출력하는데, 숫자는 1부터 순서대로 다음과 같이 출력하는 프로그램을 작성해보세요.
예) n = 4
1 2 3 4 5 6 7 8 9 10
#include <iostream> using namespace std; int main(){ int n, cnt = 1; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ cout << cnt << ' '; cnt++; } cout << endl; } return 0; }
모양대로 숫자 출력하기
정수 n의 값을 입력받아 다음과 같이 숫자를 출력하는 프로그램을 아래 예를 참고하여 작성해보세요.
n에 2를 입력받는 경우
2 1 1
n에 3를 입력받는 경우
3 2 1 2 1 1
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=n;i>0;i--){ for(int j=n;j>0;j--){ if(j>i) cout << " "; else cout << j << ' '; } cout<<endl; } return 0; }
특정 규칙에 따른 숫자 출력
정수 n을 입력받아 숫자를 특정 규칙에 따라 출력하는 프로그램을 아래 예를 참고하여 작성해보세요.
- 숫자는 1에서 9까지 출력하고 나면 다시 1로 돌아와서 출력합니다.
#include <iostream> using namespace std; int main(){ int n, cnt=1; cin >> n; for(int i=n;i>0;i--){ for(int j=n;j>0;j--){ if(j>i) cout << " "; else{ cout << cnt << ' '; cnt++; } if(cnt>9) cnt = 1; } cout<<endl; } return 0; }
규칙에 맞는 출력
정수 n이 주어졌을 때, 다음과 같은 규칙에 맞추어 출력하는 프로그램을 작성해보세요.
n = 4 일 때
4 3 4 2 3 4 1 2 3 4
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=n;i>0;i--){ for(int j=i;j<=n;j++) cout<<j<<' '; cout<<endl; } return 0; }
일직선 구구단
정수 n의 값이 주어지면 일직선으로 구구단을 출력하는 프로그램을 작성해보세요. n * n개의 줄에 걸쳐 출력합니다.
입력
2
출력
1 * 1 = 1 1 * 2 = 2 2 * 1 = 2 2 * 2 = 4
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<i<<" * "<<j<<" = "<<i*j<<endl; } } return 0; }
특이한 출력
정수 n의 값이 주어지면 (1, 1)에서 (n, n)까지 특이한 조건을 만족하며 출력하는 프로그램을 작성해보세요.
(1, 1)에서 오른쪽으로 차례대로 출력합니다
(i, j) 에서 i + j가 4의 배수가 되는순간 다음 줄로 넘어갑니다.#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<'('<<i<<", "<<j<<')'<<' '; if((i+j)%4==0) cout<<endl; } } return 0; }
19단 출력
19 * 19 단을 다음 양식에 맞춰 출력하는 코드를 작성해보세요.
1 * 1 = 1 / 1 * 2 = 2 1 * 3 = 3 / 1 * 4 = 4 ............. 1 * 17 = 17 / 1 * 18 = 18 1 * 19 = 19 2 * 1 = 2 / 2 * 2 = 4 ............. 19 * 17 = 323 / 19 * 18 = 342 19 * 19 = 361
#include <iostream> using namespace std; int main(){ for(int i=1;i<=19;i++){ for(int j=1;j<=19;j++){ cout<<i<<" * "<<j<<" = "<<i*j; if(j%2==1&&j!=19) cout<<" / "; else cout<<endl; } } return 0; }
구구단으로 이루어진 직각 삼각형
다음과 같은 규칙에 따라 구구단을 직각삼각형으로 출력하는 프로그램을 작성해보세요.
예) n = 5
1 * 1 = 1 / 1 * 2 = 2 / 1 * 3 = 3 / 1 * 4 = 4 / 1 * 5 = 5 2 * 1 = 2 / 2 * 2 = 4 / 2 * 3 = 6 / 2 * 4 = 8 3 * 1 = 3 / 3 * 2 = 6 / 3 * 3 = 9 4 * 1 = 4 / 4 * 2 = 8 5 * 1 = 5
#include <iostream> using namespace std; int main(){ int n; cin >> n; for(int i=1;i<=n;i++){ for(int j=1;j<=n-i+1;j++){ cout<<i<<" * "<<j<<" = "<<i*j; if(j==n-i+1) continue; cout<<" / "; } cout<<endl; } return 0; }
정사각 알파벳 출력하기
정수 n의 값이 주어지면 n*n 개 정사각형 모양으로 알파벳을 출력하는 프로그램을 작성해보세요.
#include <iostream> using namespace std; int main(){ int n; cin >> n; char a=65; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ cout<<a; a++; } cout<<endl; } return 0; }
알파벳 출력하기
정수 n의 값을 입력받아 다음과 같이 영문자를 출력하는 프로그램을 아래 예를 참고하여 작성해보세요. Z 다음에는 A가 나와야 합니다.
n에 2가 주어지는 경우
A BC
n에 3가 주어지는 경우
A BC DEF
#include <iostream> using namespace std; int main(){ int n; char a = 65; cin >> n; for(int i=0; i<n; i++){ for(int j=0; j<=i; j++){ cout<<a; a++; if(a == 91) a=65; } cout<<endl; } return 0; }
알파벳 출력하기 2
정수 n의 값을 입력받아 다음과 같이 영문자를 출력하는 프로그램을 아래 예를 참고하여 작성해보세요. Z 다음에는 A가 나와야 합니다.
n에 2가 주어지는 경우
A B C
n에 3가 주어지는 경우
A B C D E F
#include <iostream> using namespace std; int main(){ int n; char a = 65; cin >> n; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(j<i) cout<<" "; else{ cout<<a<<' '; a++; if(a == 91) a=65; } } cout<<endl; } return 0; }
n번 반복
ab곱 n번 구하기
정수 n과 n개의 a, b쌍이 주어집니다. a부터 b까지의 곱셈을 출력하는 프로그램을 작성해보세요.
입력
3 1 4 6 8 2 5
출력
24 336 120
#include <iostream> using namespace std; int main(){ int n,a,b,cnt; cin >> n; for(int i=0;i<n;i++){ cin >> a >> b; cnt = 1; for(int j=a;j<=b;j++){ cnt *= j; } cout << cnt << endl; } return 0; }
n + 1 수열 m번
자연수 n이 주어집니다. n에서 시작하여 n이 짝수면 2로 나누고, n이 홀수면 3을 곱하고 1을 더하는 것을 n이 1이 되기 전까지 계속 반복하려고 합니다. 총 몇 번을 반복해야 1이 되는지를 계산하는 프로그램을 작성해보세요.
예를 들어 n = 3인 경우 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 순서로 1이 되므로 답이 7이 됩니다.
이 문제에서는 총 m번에 걸쳐 n 값이 주어집니다. 각각의 경우에 대해 주어진 n이 1이 되는데 걸리는 횟수를 구해야 합니다.
#include <iostream> using namespace std; int main(){ int m, n, cnt; cin >> m; for(int i=0;i<m;i++){ cin >> n; cnt = 0; while(n!=1){ if(n%2==1) n = 3*n+1; else n /= 2; cnt ++; } cout<<cnt<<endl; } return 0; }
완전수
완전수란 자기 자신을 제외한 모든 양의 약수들을 더했을 때 자기 자신이 되는 수 입니다.
예를 들어 6=1+2+3 이므로 6은 완전수 입니다.
주어지는 start에서 end 이내에 있는 숫자들 중 완전수가 몇 개인지 출력하는 코드를 작성해보세요.
#include <iostream> using namespace std; int main(){ int start, end, cnt = 0, num; cin >> start >> end; for(int i=start; i<=end; i++){ num = 1; for(int j=2;j<i;j++){ if(i%j==0) num += j; } if(i == num) cnt++; } cout<<cnt; return 0; }
약수의 개수가 3개인 수
주어지는 두 수(start, end)에 대해서, start 이상, end 이하의 숫자 중에 약수가 3개인 숫자의 개수를 구하는 코드를 작성해보세요.
#include <iostream> using namespace std; int main(){ int start, end, cnt = 0, num; cin >> start >> end; for(int i=start; i<=end; i++){ num = 1; for(int j=2;j<=i;j++){ if(i%j==0) num ++; } if(num == 3) cnt ++; } cout << cnt; return 0; }
소수 구하기
1에서 n 사이의 소수를 오름차순으로 출력하는 프로그램을 작성해보세요.
#include <iostream> using namespace std; int main(){ int n,cnt = 0,is_prime=0; cin >> n; for(int i=2;i<=n;i++){ is_prime = 0; if(i > 2){ for(int j=2;j<=i/2;j++){ if(i%j == 0){ is_prime = 1; break; } } } if(is_prime == 0) cout<<i<<' '; } return 0; }
짝수의 합 n번 구하기
n번에 걸쳐 두 정수 a, b가 주어졌을 때, a부터 b까지의 짝수를 모두 합한 결과를 출력하는 프로그램을 작성해보세요.
입력
3 1 10 1 20 5 30
출력
30 110 234
#include <iostream> using namespace std; int main(){ int n,a,b,cnt; cin >> n; for(int i=0;i<n;i++){ cin >> a >> b; cnt = 0; for(int j=a;j<=b;j++){ if(j%2==0) cnt +=j; } cout<<cnt<<endl; } return 0; }
'데일리 codeup > 다중 반복문' 카테고리의 다른 글
다중반복 숫자출력_220706 (0) 2022.07.06 별출력_220805 (0) 2022.07.05