Jelölje s (n) az n pozitív egész szám tízes számrendszerbeli alakjában a számjegyek összegét. Mely n-re lesz n/s (n) a lehető legkisebb, ha 100<=n<=999?
Valaki nemrég felvetette egy hasonló feladatnál, hogy az ilyen jellegű feladatokat programozással kell megoldani, én meg írtam rá egy programot. Mivel ehhez is hasonló program kell, ezért lefuttattam ezt is.
A keresett n a 199, erre n/s(n) körülbelül 10,47. Azok az n-ek, amikre n/s(n) < 11 pontosan 10-en vannak:
n --> s(n), n/s(n)
109 --> 10, 10.900000
119 --> 11, 10.818182
129 --> 12, 10.750000
139 --> 13, 10.692308
149 --> 14, 10.642857
159 --> 15, 10.600000
169 --> 16, 10.562500
179 --> 17, 10.529412
189 --> 18, 10.500000
199 --> 19, 10.473684
A kód C-ben (direkt kommentek nélkül, azoknak, akik szeretnek ilyeneket bogarászni):
int i, n, s=0, nmn, db=0, b=10, min=100, max=999;
double fmn;
i = min; for(;i%b||i/b;i/=b) s+=i%b;
nmn = min;
fmn = (double)min/s;
for(n=min;n<=max;n++)
{ s = 0; i = n;
for(;i%b||i/b;i/=b) s+=i%b;
if((double)n/s < fmn)
{ fmn = (double)n/s;
nmn = n;
}
//if((double)n/s < 11) printf("%d --> %d, %lf\n", n, s, (double)n/s);
}
printf("\n*******\nA keresett szám: %d --> %lf\n\n", nmn, fmn);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!