반응형

1의 자리수 : ((x % 10) / 1)
10의 자리수 : ((x % 100) / 10)
100의 자리수 : ((x % 1000) / 100)
해당 규칙으로 보면 쉽게 풀린다.
나같은경우 2중for문으로 (1의자리수,10의자리수,100의자리수) x (1의자리수,10의자리수,100의자리수) 개념으로 해결했다.
#include <iostream>
using namespace std;
int main() {
int x, y = 0;
cin >> x;
cin >> y;
/*
cout << ((x % 10) / 1) * ((y % 10) / 1)
+ ((x % 100) / 10) * ((y % 10) / 1) * 10
+ ((x % 1000) / 100) * ((y % 10) / 1) * 100;
*/
int total = 0;
for (int i = 1; i <= 100; i*=10) //3번 loop
{
int tempTotal = 0;
for (int j = 1; j <= 100; j*=10)
{
tempTotal += (((y % (10 * i)) / i) * j) * ((x % (10 * j)) / j);
}
cout << tempTotal << endl;
total += tempTotal * i;
}
cout << total;
return 0;
}
반응형
'C++ > 알고리즘 관련' 카테고리의 다른 글
| [기본문법] 문자열 (0) | 2025.06.01 |
|---|---|
| [기본문법] 1차원 배열 (1) | 2025.05.30 |