2017-10-17 1 views
-2

나는이 출력과 같이 인쇄 할 여기스위프트 3을 사용하여 이런 종류의 패턴을 인쇄하는 방법은 무엇입니까?

1 
    121 
    12312 
1234123 
123454321 

와 내 코드

var no = 1 
var numberOfRow = 5 
for i in 1...numberOfRow { 
    for _ in 1..<(6-i) { 
     print("_", terminator: " ") 
    } 
    for _ in 1...i { 
     //no += 1 
     print("\(no)", terminator: " ") 
     no += 1 
    } 
    for _ in 1..<no - 1 { 
     no -= 1 
     print("\(no - 1)", terminator: " ") 
    } 
    print("\(no)") 
} 

하지만 어디에 내 문제는이 코드에

_ _ _ _ 1 2 
_ _ _ 2 3 2 1 2 
_ _ 2 3 4 3 2 1 2 
_ 2 3 4 5 4 3 2 1 2 
2 3 4 5 6 5 4 3 2 1 2 

노호처럼 출력을 보여줍니다?

답변

0

이를 확인하시기 바랍니다 :

var no = 1 
var numberOfRow = 5 
for i in 1...numberOfRow { 
    for _ in 1..<(6-i) { 
     print(" ", terminator: " ") 
    } 
    for j in 1...i { 
     print("\(j)", terminator: " ") 
     no = j 
    } 
    for k in 1..<no { 
     no -= 1 
     print("\(no)", terminator: " ") 
    } 
    print(" ") 
} 
0

여기 의사 코드입니다. 그에 따라 for 루프를 변경하십시오.

  int rc = 5; 
     for(int i=1;i<=rc;i++) 
     { 
      for(int j=0;j<(rc-i);j++) 
      { 
       Print("_"); 
      } 
      for(int k=0;k<i;k++) 
      { 
       Print(k + 1); 
      } 
      for(int l=(i-1);l>0;l--) 
      { 
       Print(l); 
      } 
      print("\(no)") 
     } 
관련 문제