exercism / exercism/problem-specifications

Exercise Idea: Kafka Printer

未关闭
#1,570 14 条评论 8 个 reaction 已指派 1 人 已被 @sshine 认领 在 GitHub 查看
new exercise idea
主要语言
Ruby
星标
358
派生
563
平均合并
18 小时 41 分钟
30 天内合并 PR
2

描述

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.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。