본문 바로가기

카테고리 없음

[백준 2739번] 구구단 파이썬/C++

반응형

문제

N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

입력

첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.

출력

출력 형식과 같게 N*1 부터 N*9까지 출력한다.

예제 입력 1

2

예제 입력 2

2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

파이썬 오류 코드1

n = int(input())
for i in range(1,10):
    print(n, "* i =", n*i)

 

무엇때문에 안 되는지 모르겠다. n*i 연산이 안되어서 그런 것 같다.

 

수정 코드1 (%d 사용)  

n = int(input())
for i in range(1,10):
    print("%d * %d = %d"%(n,i,n*i))

 

수정 코드2 (.format 사용)

n = int(input())
for i in range(1,10):
    print("{} * {} = {}".foramt(n,i,n*i))

 

C++ 오류 코드1

#include <iostream>
using namespace std;
int main(){
    int N;
    cin >> N;
    for(i = 1, i < 10, i++){
        cout <<N * <<i<< = << N*i << endl;
    }    
    return 0;
}

컴파일 에러가 나왔다. 

C++ 오류 코드 2

#include <iostream>
using namespace std;
int main(){
    int N;
    cin >> N;
    for(i = 1, i < 10, i++){
        cout <<N<<" * "<<i<<" = "<< N*i << endl;
    }    
    return 0;
}

"" 를 안 붙여서 그런 줄 알았는데, 여전히 컴파일 에러가 나온다. 변수로 출력하는 방법을 찾아봐야 겠다.

C++ 수정 코드

#include <iostream>
using namespace std;
int main(){
    int N;
    cin >> N;
    for(int i = 1; i < 10; i++){
        cout <<N<<" * "<<i<<" = "<< N*i << endl;
    }
    return 0;
}

맥북을 사용하고 있어서 Xcode에 입력해서 오류 메시지를 참고했다.

 

1. for 문 쪽에 쉼표가 아닌 세미 콜론(;)이 와야 한다. (파이썬의 range 괄호 안에 쉼표랑 헷갈림)

2. for 문 안 쪽에 있는 i의 자료형을 정의하지 않았다. ( i -> int i )

 

 

참고한 사이트

 

[파이썬 python] 변수 출력 하기 (프린트, print, format)

파이썬에서 print() 함수와 format() 메서드를 조합하여 다양한 출력 형식을 구현할 수 있습니다. 아래 예시에서는 이러한 활용 방법을 다양한 예시와 함께 설명하겠습니다. 1. 기본적인 print 사용 pri

smcstudy.tistory.com

 

반응형