编程介的小学生 2017-07-31 12:46 采纳率: 20.5%
浏览 768
已采纳

Lazy Pianist

Description

Music and mathematics always had a close relationship. Since Pythagoras, it is known that tonal harmony is closely related to the numerical relation of the frequencies.
A lazy pianist, that uses to play VEERY LAARGE melodies composed by Kindermann, has taken advantage of this narrow relationship. However, this pianist commonly plays only the half or a quarter of the total notes. Amazingly, the audience never has realized his trick. The main reason is that this pianist always plays melodies that have a particular characteristic that is better described by the sequence of melody shown in figure 1.

Figure 1. A sequence generated by Kindermann

As you can see, the complete sequence is:

DO DO RE DO RE RE MI DO RE RE MI RE MI MI FA DO

However, if we choose only even notes, we can obtain the following sequence:
DO DO RE DO RE RE MI DO RE RE MI RE MI MI FA DO

DO DO RE DO RE RE MI DO

This is exactly the same melody. Even more, we can observe that choosing only every fourth note, we obtain:

DO DO RE …

And, this is exactly the same melody.

The lazy pianist would like to continue playing this kind of melodies, but he does not know how to complete the melody shown in figure 1. You must construct an algorithm in order to complete that melody.
A useful tip to do the job would be to assume that every note should be represented by an integer. Thus, DO=1, RE=2, MI=3, etc. Thus, sequence presented earlier could be seen as:

A possible algorithm for generating the sequence is shown in table 1. Every decimal number is expressed by its binary representation, and then we add the number of 1's that exist in that representation. This value indicates the note.

Input

Input consists of a list of three positive integers (total, cant, pos), preceded by an integer number that means the total of cases. Where total means total of tones to generate, cant means how many tones should be shown as a result, and pos means the start point. In this way, if cant=2, and pos=1, then this mean that it is needed to generate a sequence of 2 values starting from position number one. It is not allowed that pos has a value greater than total, and obviously neither that

((pos + cant ) -1) > total.
Output

A sequence of positive integers separated by a space. Each integer means one note of the melody .
Sample Input

5
16 3 10
2 2 1
5 5 2
8 1 8
15 15 1
Sample Output

Case 1: 2 3 2
Case 2: 1 1
Case 3: It cannot be solved.
Case 4: 1
Case 5: 1 1 2 1 2 2 3 1 2 2 3 2 3 3 4

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-08-16 15:40
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化