exercism / exercism/problem-specifications

Exercise Idea: Kafka Printer

Aperta
#1,570 14 commenti 8 reazioni 1 assegnatario Rivendicata da @sshine Vedi su GitHub
new exercise idea
Lingua principale
Ruby
Stelle
358
Fork
563
Merge medio
18h 41m
PR unite (30g)
2

Descrizione

This exercise idea is based on a story from my current work place: My boss'es Ubuntu had a bug that made his printer, when asked to print *N* copies of something, instead print *N²* copies. So for our Thursday status meeting, he'd hope that the number of people who show up, for whom he would bring a copy of his status report, was targetable with as few print requests as possible.

For example, if 13 people would show up to the meeting, he would first ask the printer of 3 copies (yielding 9 copies), and then 2 copies (yielding 4 copies), with a final result of 3² + 2² = 13 copies. For some numbers of employees, this was simply not possible with two print jobs, and he'd need to consult the printer a third time.

The exercise is to write a function that computes the *groan factor*, being the minimal number of print jobs it takes to print *N* copies of a status report when the printer gives you back *N²* copies.

Examples:

- It takes 1 print job to print 1 copy because 1² = 1.
- It takes 2 print jobs to print 5 copies: 2² + 1² = 5.
- It takes 3 print jobs to print 11 copies: 3² + 1² + 1² = 11.

The suggested exercise name underlines the kafkaesque hope that a specific number of employees *N* show up on Thursdays such that ∃ *a*, *b* ∈ ℕ₀: *a*² + *b*² = *N* for optimal working conditions.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.