사각형그리기1 |
|
|
<source code>
- #include <stdio.h>
- int main()
- {
- int n, m;
- int num = 0;
- int sw = 0;
- if(!inFp || !outFp)
- {
- return 0;
- }
- for(int i=1; i<(n*m+1); i++)
- {
- switch (sw)
- {
- case 0:
- num=num+1;
- if(!(i%m)){
- num = num+m;
- sw = 1;
- }
- break;
- default:
- num=num-1;
- if(!(i%m)){
- num = num + m;
- sw = 0;
- }
- break;
- }
- }
- return 0;
- }
스위치 문을 사용했다.
예를 들어서 (4 5)가 입력되면
4행 5열을 생각했고 마지막 숫자는 4*5라는 것을 알 수 있다.
1~5까지는 더하기를 하고 마지막 5열에 오면 더하기 열의 숫자
그리고 다음 열에서는 빼기 마지막 5열에 오면 더하기 열의 숫자
이것을 반복하면 만들 수 있다.
시간복잡도를 계산한다고 하면 O(n)
반응형
'IT > [Everyday]Coding' 카테고리의 다른 글
퀵정렬 (Quick Sort) (0) | 2014.12.19 |
---|---|
사각형그리기2 (0) | 2014.12.19 |
파스칼 삼각형 (0) | 2014.12.19 |
[피보나치 수열] (0) | 2014.12.19 |
[이항계수]경우의 수 구하는 프로그램 (0) | 2014.12.19 |