1629_곱셈 문제의도 질문
281
작성한 질문수 10
오버플로우 안 발생시키려고 unsigned long long을 선언했고
10의 0승부터 m승까지 하나씩 더해서 나머지 연산자 쓰는 것과 같은 논리로
숫자의 크기에 무관하도록 string 클래스에 의존해서 1씩 추가했습니다.
그렇게 해서 stoi가 있으니 stoull이 있을 거 같아서 사용해보니
긱스포긱스 ide에 써보니 정답이 나오더라고요.
근데 백준에서는 런타임 out of range가 뜨더라고요.
제 코드의 문제를 모르겠습니다.
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ull a;
string s ="";
while(cin>>a){
s.clear();
while(1){
s.append("1");
if(stoull(s)%a==0) break;
}
cout << s.size() << endl;
}
return 0;
}
답변 1
0
안녕하세요. RokiePlayer님ㅎㅎ
문제는 10의 몇승의 나머지를 뽑는 것이 아닙니다. 2의 몇승이 될 수도 있어요. 그래서 해당 코드는 아예 틀린 것이죠.
1. 그렇다고 해서 이게 10의 몇승의 나머지를 풀 수 있는 코드냐. 그런 것도 아닙니다. 이 문제의 범위를 볼까요? 무척 큰수가 나옵니다.
A가 10이고 B가 20만이라고 해봅시다. 이게 unsigned long long 으로 변환해서 나머지연산을 할 수 있는 수 인가요?
2. 이건 devc++에서도 out of range가 뜹니다. 만약 자신이 어떠한 로직을 작성했고 이게 틀릴 경우에는 "작은 수"를 기반으로 테스팅을 먼저 해야 합니다.
제가 해당코드를 디버깅하기 위해서 몇개 코드를 고쳐봤는데요. 참고하시기 바립니다
또 질문사항있으시면 언제든 말씀 부탁드립니다.
감사합니다.
강사 큰돌 올림.
1-E질문입니다!
0
529
2
3-L 틀린 부분 피드백 부탁드립니다.
0
833
2
1-A문제 순열재귀함수 질문입니다.
0
396
1
1-A 일곱난쟁이문제입니다
0
465
1
문제 풀 때 방향성에 대해
0
808
1
맥에서 vs code로 실행 관련 질문입니다
0
528
1
17071번 메모리 초과
0
388
1
1-C질문입니다!
0
427
2
2-B BFS 시간초과질문
0
636
2
1-O 13번 라인
0
445
1
6-J 놀이공원 문제 질문
0
386
1
구현관련 질문
0
487
1
강의 교안
0
321
1
실력을 더 올리고나서 강의를 보는 것이 맞을까요?
0
549
1
안녕하세요! 재귀함수에 관해서 질문드립니다
0
538
1
1-K
0
481
2
3-G번 질문있습니다.
1
478
3
3-C 실행 시간 질문드립니다.
0
500
1
4-A 문제 풀이 질문있습니다.
0
598
2
비트마스킹 연산자 "1의 보수" 영문 표기법
0
441
1
격자탐색 문제에서 BFS 시간복잡도 질문드립니다.
0
344
1
3-O go 함수 질문 드립니다.
1
450
2
4-A 출력 질문
0
306
1
1주차 1-O 질문드립니다
0
262
1





