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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | #include <iostream> #include <fstream> #include <Windows.h> using namespace std; void ReadFile(char* seriseNumber); void char_To_int(char* seriseNumber, int* intSeriseNumber); void ReadFile(char* seriseNumber) { ifstream file; file.open("C:\\numbers.txt"); if (file.is_open() == true) { file >> seriseNumber; file.close(); } } void char_To_int(char* char_seriseNumber, int* int_SeriseNumber) { for (int i = 0; i < 1000; ++i) { switch (char_seriseNumber[i]) { case 48: int_SeriseNumber[i] = 0; break; case 49: int_SeriseNumber[i] = 1; break; case 50: int_SeriseNumber[i] = 2; break; case 51: int_SeriseNumber[i] = 3; break; case 52: int_SeriseNumber[i] = 4; break; case 53: int_SeriseNumber[i] = 5; break; case 54: int_SeriseNumber[i] = 6; break; case 55: int_SeriseNumber[i] = 7; break; case 56: int_SeriseNumber[i] = 8; break; case 57: int_SeriseNumber[i] = 9; break; } } } void main() { char char_seriseNumber[1000]; int int_seriseNumber[1000]; long long sum_product = 1; long long max_product = 0; cout << " START Calc " << endl; ReadFile(char_seriseNumber); char_To_int(char_seriseNumber, int_seriseNumber); for (int outIdx = 0; outIdx < 1000; ++outIdx) { for (int innerIdx = outIdx; innerIdx <= outIdx + 12; ++innerIdx) { if (int_seriseNumber[innerIdx] == 0) break; if (int_seriseNumber[innerIdx] == 1) break; sum_product *= int_seriseNumber[innerIdx]; } if (max_product < sum_product) max_product = sum_product; sum_product = 1; } cout << " Max of Product :" << max_product << endl; system("pause"); } |
2019년 4월 13일 토요일
# 1000개의 숫자에서 13자리 조합을 구해 자릿수를 모두 곱한 것중 가장큰 조합은?
# 오일러 프로젝트를 해보고 있다. 몇문제 푸는중에...
Find the thirteen adjacent digits in the 1000-digit number that have the greatest product.
What is the value of this product?
이런 문제가 있었다. 그래서 아래와 같은 방법으로 풀긴 했다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기