Digit fifth powers: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (added Arturo) |
No edit summary |
||
Line 849: | Line 849: | ||
194979 |
194979 |
||
The sum was 443839</pre> |
The sum was 443839</pre> |
||
=={{header|Delphi}}== |
|||
{{works with|Delphi|6.0}} |
|||
{{libheader|SysUtils,StdCtrls}} |
|||
Optimized for speed - runs in 60 ms on a Ryzen 7. |
|||
<syntaxhighlight lang="Delphi"> |
|||
const Power5: array [0..9] of integer = (0,1,32,243,1024,3125,7776,16807,32768,59049); |
|||
function SumFifthPower(N: integer): integer; |
|||
var S: string; |
|||
var I: integer; |
|||
begin |
|||
S:=IntToStr(N); |
|||
Result:=0; |
|||
for I:=1 to Length(S) do |
|||
Result:=Result+Power5[byte(S[I])-$30]; |
|||
end; |
|||
procedure ShowFiftPowerDigits(Memo: TMemo); |
|||
var I,Sum: integer; |
|||
begin |
|||
Sum:=0; |
|||
for I:=2 to 354424 do |
|||
begin |
|||
if I = SumFifthPower(I) then |
|||
begin |
|||
Memo.Lines.Add(Format('%8.0n',[I*1.0])); |
|||
Sum:=Sum+I; |
|||
end; |
|||
end; |
|||
Memo.Lines.Add('========'); |
|||
Memo.Lines.Add(Format('%8.0n',[Sum*1.0])); |
|||
end; |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
4,150 |
|||
4,151 |
|||
54,748 |
|||
92,727 |
|||
93,084 |
|||
194,979 |
|||
======== |
|||
443,839 |
|||
</pre> |
|||
=={{header|FOCAL}}== |
=={{header|FOCAL}}== |