게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
언어학자님 원하셨던거 이런게 아닐까요
게시물ID : programmer_12836짧은주소 복사하기
작성자 : 네임밸류
추천 : 1
조회수 : 662회
댓글수 : 5개
등록시간 : 2015/08/19 20:53:31
다이아찍기는 1,3,5,3,1 이런식으로 별 갯수가 올라갔다 내려오고
앞에 여백은 2,1,0,1,2 이런식으로 내려갔다 올라오는데

비교연산자 전혀 없이 이중 for문만 쓰면 수학적으로 저런 함수를 나오게 하는거죠
n이 5면 x는 1,2,3,4,5가 들어가서 for문 1개는 y가 1,3,5,3,1로 나오고 다른 for문 1개는 2,1,0,1,2
이런식으로 나오게끔 for문 컨디션에 저런 함수가 들어가게끔 컨디션을 조절하는거...

간단히 해봤는데, 수학 잘 못하고 수식 간단히 바꾸는게 귀찮아서
수식이 드럽게 복잡하니 눈갱 조심..

for 문의 두 번째 컨디션에 위와 같은 함수를 대충 만들어봤어요.

n에다가 5,7,9,11 이런 홀수 넣으면 스케일도 자동으로 커지고,
(짝수넣으면 찌그러짐 ㅋ)

언듯보니 언어학자님이 언급한 말들중에 수학적으로 해야된다느니, 5로 국한되는게 아니고
숫자 키워도 다이아 크기가 자동으로 커져야된다느니 해서 한번 생각해서 대충 해봤습니다.

이것도 뭔가 하자가 있다면 털썩....

#include <stdio.h>

int main()
{
    int i;
    int j;
    int k;
    int n;

    n=55;

    for(i=1; i<=n; i++)
    {
        for(j=0; j< (n-n/2)-i+(i/((n/2)+2)*((i-(n/2+1))*2)); j++)
        {
            printf(" ");
        }

        for(k=0; k<(((i*2)-1)/n)*n + (((i*2)-1)%n) - (((i*2)-1)/n)*(((i*2)-1)%n)*2; k++)
        {
            printf("*");
        }
        
        printf("\n");
    }

    return 0;
}

캡처.JPG

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호