另類進位制轉換
阿新 • • 發佈:2018-11-12
#include <stdio.h> long convert(long v, int base) { long ans, weight; int digit; ans = 0; weight = 1; while(v) { digit = v % 10; v /= 10; if(digit >= base) { ans = -1; break; } ans += weight * digit; weight *= base; } return ans; } int main() { long p, q, r; long p2, q2, r2; int ans=0; scanf("%ld%ld%ld", &p, &q, &r); for(int i=2; i<16; i++) { p2 = convert(p, i); q2 = convert(q, i); r2 = convert(r, i); if(p2 * q2 == r2) { ans = i; break; } } printf("%d\n", ans); return 0; }