Each of M and N is a
nonnegative integer such that:
M
o Celsius = N
o Fahrenheit.
Determine all possible values of N<10
such that N is a perfect power.
*** F = (9/5)*C +32, where F denotes degree Fahrenheit and C denotes degree Celsius.
(In reply to
re: Corrigendum by Charlie)
After realizing that factoring was slow, and the numbers are so sparse, I realized the way to go was to form powers and see which converted F to an integral C. Instead of taking what would have been days, it was over in less than a second.
count=0; set=double.empty(0,4);
for base=2:round(sqrt(1000000000))
F=base;
while F<1000000000
F=F*base;
C=(F-32)*5/9;
if C==round(C)
count=count+1;
set=[set; C F base log(F)/log(base) ]
disp([C F base log(F)/log(base)])
end
end
end
set=sortrows(set)
C F base exponent
0 32 2 5
1120 2048 2 11
43385 78125 5 7
72800 131072 2 17
89455 161051 11 5
1777760 3200000 20 5
4660320 8388608 2 23
11395065 20511149 29 5
44019520 79235168 38 5
58563040 105413504 14 7
127413875 229345007 47 5
298261600 536870912 2 29
305962080 550731776 56 5 * see note below
644605885 1160290625 65 5
678168385 1220703125 5 13
1232781440 2219006624 74 5
1891569675 3404825447 23 7
2188355895 3939040643 83 5
3661564000 6590815232 92 5
5838944705 10510100501 101 5
8947277760 16105100000 110 5
13257520315 23863536599 119 5
19088743520 34359738368 128 5
26812069125 48261724457 137 5
36854606080 66338290976 146 5
49703387135 89466096875 155 5
65909305440 118636749824 164 5
86091051145 154963892093 173 5
That went a little overboard. The set of values beyond 10^9 may very well be incomplete, lacking some higher powers of lower numbers, as it wasn't designed to go over a billion. So
305962080 550731776 56 5
is the last in the set expected to be complete.
Edited on January 9, 2022, 8:39 pm
|
Posted by Charlie
on 2022-01-09 20:31:53 |