백준 10430
네 개의 계산식을 계산하는 문제. 이 문제를 푼 다음에는 직접 입력을 만들어서 넣어 봅시다. 어떤 사실을 관찰할 수 있나요?
문제
(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?
(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.입력
첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
출력
첫째 줄에 (A+B)%C,
둘째 줄에 ((A%C) + (B%C))%C,
셋째 줄에 (A×B)%C,
넷째 줄에 ((A%C) × (B%C))%C를 출력한다.예제 입력
5 8 4
예제 출력
1
1
0
0
C++ 코드
#include <iostream> using namespace std; int main() { int A, B, C; cin >> A >> B >> C; cout << (A+B) % C << endl; cout << ((A%C) + (B%C)) % C << endl; cout << (A*B) % C << endl; cout << ((A%C) * (B%C)) % C << endl; return 0; }
첫 줄
int A, B, C;
빼먹어서 첫 제출엔 컴파일 에러 남..
이런 자잘한 실수는 하지 말자
C 코드
#include <stdio.h> int main() { int A, B, C; scanf("%d%d%d", &A, &B, &C); printf("%d\n%d\n%d\n%d\n", (A+B)%C, ((A%C)+(B%C)) % C, (A*B)%C, ((A%C)*(B%C)) % C); return 0; }
악 얜 중간에 실수로 괄호 1개 더 넣어서 첫 제출에 컴파일 에러남
뭐가 문제인지 한참 찾았네;;
그래도 역시 C가 더 익숙하다
C++ 짧은 코드
#include <iostream> using namespace std; int main(){ int a, b, c; cin >> a >> b >> c; cout << (a+b)%c << endl << ((a%c) + (b%c))%c << endl << (a*b)%c<<endl <<((a%c)*(b%c))%c << endl; return 0; }
오 내가 궁금했던 부분 해소해주는 코드 찾았다.
C의 printf()에서 \n 사용해 여러 줄 출력하는 것처럼
C++도 한 번에 여러 줄 출력할 수 있지 않을까 했는데 역시 가능했군
endl 통해서 개행하면서 작성하면 되는 거였음
근데 어제 정리한 내용 보면
cout << "Hi, how are you? \n I'm fine, thank you." << endl;
이렇게 작성하는 게 가능하니
cout << (a+b)%c \n ((a%c) + (b%c))%c \n (a*b)%c \n ((a%c)*(b%c))%c << endl;
으로도 작성 가능하고 endl 쓰는 것보다 \n 쓰는 게 더 효율적이니 이게 더 낫겠다 싶었는데 막상 제출해보니 컴파일 에러 나네.. 뭐가 문제지......