#include <iostream>
using namespace std;
int main() {
cout << "2번 별을 출력하는 프로그램\n\n";
for (int i = 0; i <= 9; i++)
{
for (int k = 0; k <= 8-i; k++)
{
cout << " ";
}
for (int j = 0; j <= i; j++)
{
cout << "*";
}
cout << "\n";
}
cout << "\n";
}
생각보다 쉽지만 생각하게 만드는 부분이다.
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
for(int i=0 ;i< 10 ;i++)
처음은 시작부분 뒤에는 끝나는 것을 설정 할수 있다.
둘의 간격 차이를 유지하면서 변화 시키면 된다.
i=0 -> 9 까지
i=-1 -> 8 까지
이런식으로 간격에 대한 생각은 계속 해줘야 한다.
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
for(int i=0;i<num;i++)
{
for(int j=0; j < (num-i)-1;j++)
cout<<" ";
for(int j=0;j<2*i+1;j++)
cout<<"*";
cout<<endl;
}
cout << "\n";
}
홀수 별을 출력하기 위해서는 등차수열을 생각하면 된다.
num: 4
공백: 3, 2 ,1
별 :1, 3, 5
별의 개수는 2k+1 이 되기 때문에
첫항은 1이고 등차는 2가 되는 식이 된다.
하지만 카운팅이 n=0 부터 시작하기 때문에 일반식은 2(k+1)-1 이 된다.
'알고리즘' 카테고리의 다른 글
C++ 재귀 (0) | 2018.12.24 |
---|---|
C++ 뒤집기 ( 2차 배열 함수 파라미터 ) (0) | 2018.12.24 |
C++ 카드게임 (0) | 2018.12.20 |
C++ 두번째로 작은 수 찾기 (0) | 2018.12.20 |
C++ 소수 뽑기 (0) | 2018.12.20 |
댓글