for문을 활용한 구구단 문제 풀어보기

김경한·2022년 10월 20일
0

java

목록 보기
14/15

구구단

for문과 if문을 활용하여 구구단 2단부터 40단까지 나타내고, 각 홀수의 단수는 출력되지 않게 하라.

[문제출제 1 : 구구단이 다음 구구단으로 넘어갈 때마다 구분선을 지어주시오.]

문제출제1 예시)

==========구구단 2단======

2 x 1 = 2;

 .

.

.

2 x 9 = 18;

=========구구단 4단=========

.

.

.




[문제출제 2 : 구구단 4, 8, 14단은 출력되지 않게 하시오.]

[문제출제 3 : 구구단 18, 20단은 각각 118단, 220단으로 출력될 수 있게 만드시오. 단, 20단인 경우에는 21단도 출력되어야 함.]
>> 18단과 20단은 나와주어야 함. 스킵 아님.


[문제출제 4 :구구단이 10단위 위주로 단수가 올라갈 때마다 그 다음 단수가 나올 수 있게 만드시오.[짝수의]]

문제출제 4번 예시)

=====구구단8단=======

.

.

. 



=====구구단11단======

규칙은 10의 단위수 마다 11 21 단위로 나올수 있게 해주는거다 

```public class test {
public static void main(String[] args) {
    Scanner sc = new Scanner (System.in);
    System.out.println("문제 1");
    for (int i =1; i <40; i ++) {
        i++;
        System.out.println("===========구구단"+i+"단==========");
        for (int s =1; s <10; s++) {
            System.out.println( i +"*"+ s +"="+(i*s));
        }
    }

    System.out.println("문제 2=====================================================================");
    for(int i =2; i < 40; i ++){
        System.out.println("===========구구단"+i+"단==========");

        for(int s = 1; s <10; s++){
            if (i == 4  ) {
                break;
            }
            if (i == 8  ) {
                break;
            }
            if (i == 14  ) {
                break;
            }
            System.out.println(i +"*"+ s + "="+ (i*s));
        }
    }

    System.out.println("문제 3=====================================================================");
    // 구구단 18단 20단 118단 220단 으로 출력될 수 있도록 하고 20단은 경우 21단도 같이 출력되어야함

    // 변수 받아서 초기화 해주면됨
    int a = 180;
    int b = 220;
    for (int i = 2; i<41 ; i++ ) {
        System.out.println("===========구구단"+i+"단==========");

        for (int s = 1; s<=9; s++) {

            if (i == 18 ) {
                i=19;
                System.out.println("===========구구단"+a+"단==========");
                for (int v = 1; v <10; v++) {

                    System.out.println(a + "*" + v + "="+ (a*v));
                }
                System.out.println("===========구구단"+i+"단==========");

            }
            System.out.println(i + "*" + s + "="+ (i*s));
            if (i == 20) {
                for (int v = 1; v <10; v++) {
                    System.out.println(i + "*" + v + "="+ (i*v));
                }
            }
            if (i ==20) {
                System.out.println("===========구구단"+b+"단==========");
                i+=1;
                for (int c = 1; c < 10; c++ ) {

                    System.out.println(b + "*" + c + "=" + (b*c));
                }
                System.out.println("===========구구단"+i+"단==========");
            }



        }


    }
    System.out.println("문제 4=====================================================================");

        for (int i = 2; i < 42; ++i) {
            System.out.println("===========구구단"+i+"단==========");
            for (int num = 1; num < 10; num++) {
                for (int dan =0; dan<41; dan+=10) {
                    if (i == dan) {
                        i += 1;
                    }
                }
                System.out.println(i + "*" + num + "=" + (i * num));



            }

        }

}

}


심화 문제 
18단 220 단만 나오게 하기 
System.out.println("문제 3.1=====================================================================");

        for (int e = 1; e < 41; e++) {

            for (int se = 1; se <10; se++) {

                if (e == 18 || e == 22) {
                    System.out.println((e*10) + "+" + se +"=" + ((e*10)*se));
                }


            }
        }

        System.out.println("문제 3.2=====================================================================");
        // 구구단 18단 20단 118단 220단 으로 출력

        // 변수 받아서 초기화 해주면됨
       
        for (int i = 2; i<41 ; i++ ) {
            if (i == 18 || i == 22) {
                System.out.println("===========구구단" + (i * 10) + "단==========");
            } else {
                System.out.println("===========구구단" + i + "단==========");
            }

            for (int s = 1; s<=9; s++) {

                if (i == 18 || i == 22) {
                    System.out.println((i * 10) + "+" + s + "=" + ((i * 10) * s));
                } else {
                    System.out.println(i + "+" + s +"=" + (i*s));
                }

            }
profile
마스터 요다의 광선검

0개의 댓글