Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
more
Archives
Today
Total
관리 메뉴

자이의 프로그래밍

Array3 본문

Algorithm/Cases-BOJ

Array3

Xi_kor 2020. 4. 18. 18:50

문제

 

N이 주어질 때, 다음과 같은 프로그램을 작성해보자.  

 

입력

 

첫째 줄에 자연수 N이 주어진다.(1<=N<=100)

 

출력

 

예시를 참고하여 작성하자.

 

 

예제 입력

3

 

예제 출력

1 2 4

3 5

6

 

예제 입력

5

 

예제 출력

1 2 4 7 11

3 5 8 12

6 9 13

10 14

15

 

------------------------------------------------------------------------------------------------------------------------------

첫 숫자는 1로 고정되어 있음

1행일때 +1, +2, +3, +4...의 형식, 2행일때 +2, +3, +4..의 형식

행이 늘어날수록 출력하는 숫자의 갯수는 하나씩 작아짐

각 행의 첫번째 숫자는 각각 행의 첫번째 숫자에서 +2, +3, +4... 의 형식

 

#include  <iostream>
using namespace std; 

int main() 
{ 
	int num; 
	cin >> num; 

	int colnum = num; 
	int firstnum = 1; 
	int printnum = 1; 

	for (int a = 0; a < num; a++) { 
		if (printnum != firstnum) { 
			printnum = firstnum + a + 1; 
			firstnum = printnum; 
		} 

		for (int b = 0; b < colnum; b++) { 
			if (b == 0) cout << printnum << " "; 
			else 
				cout << printnum +a+ b << " "; 
			printnum = printnum + b; 
		} 
		cout << endl; 
		colnum--; 
	} 

	return 0; 
}

 

예전에 다른 방식으로 풀었던 코드도 첨부

 

#include <iostream>

using namespace std;

 

int main() {

 

  int N;

  cin>>N;

 

  int Array[N][N];

 

  int Unit=1;

  int Standard=1;

  int Number=1;

  int row=1;

 

  for(int i=0;i<N;i++)

  {

    for(int j=0; j<N; j++)

    {

      if(i==0)

      {

      

        Array[i][j]=Number;

        Number=Number+Unit;

        Unit++;

        //1 1+1 1+1+2;

      }

      else if(j==0)

      {

        Standard=Standard+i+1;

        Number=Standard;

        Array[i][j]=Number;

        Number=Number+i+1;

      }

      else

      {

        Array[i][j]=Number;

        Number=Number+i+j;

        Number++;

      }

     

    }

  }

 

 

  int a=0;

 

  //Please Enter Your Code Here

 

  for(int i=0; i<N; i++)

  {

    for(int j=0; j<N-a; j++)

    {

      cout<<Array[i][j]<<" ";

    }

    cout<<endl;

    a++;

  }

 

  return 0;

}

 

'Algorithm > Cases-BOJ' 카테고리의 다른 글

두 번째 최솟값 찾기  (0) 2020.04.25
Card Game  (0) 2020.04.25
Binary  (0) 2020.04.25
Array2  (0) 2020.04.18
Array1  (0) 2020.04.18