Av: Didrik Pemmer Aalen
Et Harshadtall er definert som et positivt tall som er delelig med summen av alle sifferne i tallet. I noen tilfeller er summen av alle sifferne i tallet et primtall. Disse kaller vi Harshadprimtall.
1729 er et Harshadtall fordi 1 + 7 + 2 + 9 = 19 og 1729 % 19 = 0. Dette er også et Harshadprimtall, fordi 19 er et primtall.
1730 er ikke et Harshadtall fordi 1 + 7 + 3 + 0 = 11 og 1730 % 11 = 3.
Hvor mange tall fra 1 til og med 98765432 er Harshadprimtall?
Godt nyttår folkens!
Det må, i rettferdighetens navn, sies at vi har spekulert en drøy uke på dette mens @DarioSucic sin CUDA-løsningn var mer spontan(?), så vi skal ikke bli for kjepphøye. 😄
@michaelo, jeg prøvde å få denne til å virke på en Raspberry Pi 3, men den hadde en litt gammel clang (3.8.1) og i tillegg finnes det ikke noen 128-bits integer. Det er, så vidt jeg ser, ingen ting i koden som bruker int128, men jeg må endre en del i fastmod.h (eller google en Raspberry-versjon) når vi finner dette:
og
Ettersom vi begrenser oss til 32-bits (signed) integer selv på det store datasettet skulle dette være grei skuring å skrive om til ren 64-bits integer, men det ble for mye god drikke i går kveld. Man kjenner sin begrensning etter mange års erfaring. 😉
Edit: Det er visst ikke så rett fram likevel...