编程介的小学生 2017-07-13 16:40 采纳率: 20.5%
浏览 613
已采纳

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条回答

报告相同问题?

悬赏问题

  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了