IT_Programming/Java

for문 장난질~ (문제 해결력 테스트)

JJun ™ 2007. 3. 4. 12:26
LONG
 

============================[조건: 조건문과 배열을 사용하면 안됨]==========================

 

import java.io.*;

public class q1                     // 문제 1번을 구하는 함수
{
 int i,j;

 

 private void qs1(int a)
 {
  int k = 1;

/*    [1단계]                               |   [2단계]                                       */
/*          int i;    int k = a*a;          |  int x = a;                                       */
/*                                              |  for(i=0;i<a;i++)                              */
/*          for(i=1;i<=k;i++)               |       {                                           */
/*   {                                          |   for(j=k;j<=x;j++)                           */
/*    System.out.print(i);                |   {                                               */
/*                                              |           System.out.print(j+" ");          */
/*    if(i%a == 0)                           |   }                                               */
/*    {                                         |   System.out.println();                    */
/*     System.out.println();             |   k = k+a;                                      */
/*    }                                         |   x = x+a;                                      */
/*   }                                          |  }                                                */

  for(i=0;i<a;i++)
  {
   for(j=0;j<a;j++)
   {
      System.out.printf("%4d",k++);
   }
   System.out.println();
  }
// 간략화+줄 맞추기 완성 ver. sdk 1.5
 }

 

 private void qs2(int a)            // 문제 2번을 구하는 함수
 {
  int k = a*a;
/*
  int x = k-(a-1);

  for(i=0;i<a;i++)
  {
   for(j=x;j<=k;j++)
   {
    System.out.print(j+" ");
   }
   System.out.println();
   k = k-a;
   x = x-a;
  }
*/
  for(i=0;i<a;i++)
  {
   for(j=0;j<a;j++)
   {
      System.out.printf("%4d",k--);
   }
   System.out.println();
  }
// 간략화 + 줄 맞추기 ver. sdk 1.5
 }

 

private void qs3(int a)
 {
  int k;
  int s = (a*a)*2;
  int b = a+1;

  for(i=0;i<s;i+=a*2)
  {
   for(j=1;j<b;j++)
   {
      System.out.printf("%4d",k=((j*2)-1)+i);
   }
   System.out.println();
  }
 }

 

 private void qs4(int a)
 {
  for(i=0;i<a;i++)
  {
   for(j=0;j<i+1;j++)
   {
      System.out.printf("%4d",j+1);
   }
   System.out.println();
  }
 }

 

private void qs5(int a)
 {
  for(i=0;i<a;i++)
  {
   for(j=0;j<a-i;j++)
   {
      System.out.printf("%4d",j+1);
   }
   System.out.println();
  }
 }

 

private void qs6(int a)
 {
  int k = 1;

  for(i=1;i<a+1;i++)
  {
   for(j=1;j<i+1;j++)
   {
      System.out.printf("%4d",k++);
   }
   System.out.println();
  }
 }

 

private void qs7(int a)
 {
  int k=1;

  for(i=0;i<a;i++)
  {
   for(j=i;j<a;j++)
   {
      System.out.printf("%4d",k++);
   }
   System.out.println();
  }
 }

 

 public static void main(String[] args) throws Exception
 {
    q1 q = new q1();

    System.out.print("Number: ");
    BufferedReader num = new BufferedReader(new InputStreamReader(System.in));
    int n = Integer.parseInt(num.readLine());

 

    System.out.println("================[↓ 1번 문제]================");
    q.qs1(n);


    System.out.println("================[↓ 2번 문제]================");
    q.qs2(n);


    System.out.println("================[↓ 3번 문제]================");
    q.qs3(n);


    System.out.println("================[↓ 4번 문제]================");
    q.qs4(n);


    System.out.println("================[↓ 5번 문제]================");
    q.qs5(n);


    System.out.println("================[↓ 6번 문제]================");
    q.qs6(n);


    System.out.println("================[↓ 7번 문제]================");
    q.qs7(n);

 }
}

ARTICLE  

Number: 5  ← 숫자를 입력받는다.


================[↓ 1번 문제]================
   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
================[↓ 2번 문제]================
  25  24  23  22  21
  20  19  18  17  16
  15  14  13  12  11
  10   9   8   7   6
   5   4   3   2   1
================[↓ 3번 문제]================
   1   3   5   7   9
  11  13  15  17  19
  21  23  25  27  29
  31  33  35  37  39
  41  43  45  47  49
================[↓ 4번 문제]================
   1
   1   2
   1   2   3
   1   2   3   4
   1   2   3   4   5
================[↓ 5번 문제]================
   1   2   3   4   5
   1   2   3   4
   1   2   3
   1   2
   1
================[↓ 6번 문제]================
   1
   2   3
   4   5   6
   7   8   9  10
  11  12  13  14  15
================[↓ 7번 문제]================
   1   2   3   4   5
   6   7   8   9
  10  11  12
  13  14
  15