博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
A - 娜娜梦游仙境系列——诡异的钢琴
阅读量:5265 次
发布时间:2019-06-14

本文共 2216 字,大约阅读时间需要 7 分钟。

 

A - 娜娜梦游仙境系列——诡异的钢琴

Time Limit:
 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)

Problem Description

从前,有一个ACdream王国,王国里住着一位公主,她叫娜娜,娜娜公主有一天做了一个很长很长的梦~她说她从来没有遇到过这些奇妙的东西~

 

现在站在娜娜面前的是一台钢琴,这是一台看上去很正常的钢琴,上面有88个键(频率从27赫兹到4186赫兹)~不过这不重要。作为一位理科学霸,娜娜知道声音的音调和频率有关,频率越高,声音越尖锐,频率越低,声音越低沉。

 

可是这一台钢琴居然会自己发出声音!这真是太诡异了!好奇心宝宝娜娜对着这台神奇的钢琴研究了好久,发现这台钢琴发出的声音都是由三个频率组合而成,有时很激昂高亢,有时很幽美(请不要吐槽形容词),有时却很刺耳。渐渐地她发现了,高亢的叫大调和弦,频率比例正好是4:5:6,(例如我们常说的C大调和弦do mi so的频率是264:330:396=4:5:6,单位赫兹),低沉幽美的叫小调和弦,频率比例正好是10:12:15(例如我们常说的A小调和弦la do mi的频率比是220:264:330=10:12:15),其余很刺耳的和弦的比例都不符合这两个。

 

那么娜娜就想知道任意给定三个音调的频率,到底是大调和弦还是小调和弦还是刺耳的和弦。

Input

多组数据,首先是一个整数t(t<=100)表示数据组数

每组数据是三个正整数a,b,c(27<=a,b,c<=4186),表示三个音的频率,单位赫兹。

Output

对于每组数据,如果是大调和弦即频率比例为4:5:6,则输出"major",如果是小调和弦,则输出"minor",如果都不是,则输出"noise",注意不需要输出双引号,为了避免拼写问题,建议复制。

Sample Input

3264 330 396220 264 330264 297 330

Sample Output

majorminornoise

Hint

264:330:396=4:5:6 为大调和弦
220:264:330=10:12:15 为小调和弦
264:297:330=8:9:10 既不是大调和弦也不是小调和弦
 
题意:给出三个数a,b,c,判断是否成4:5:6或者10:12:15比例。 解法:做法有两种,可以把这三个数分别除以4,5,6或10,12,15然后判断是否相等a/4==b/5以及b/5==c/6,注意要先转换成浮点型。另一种是先判断最小的两个数是否是4:5,5a==4b ,再判断最大两个数是否是5:6,6b==5c,不过本题有一个trick,就是给的三个数不一定是递增的,因此要简单的为这三个数排序一下。
 
note:刚开始没注意排序,WA了。其次,本来我是直接判断它们之间的最大公约数,取其最小的,然后三个数去除公约数,后来觉得复杂,就直接判断了。不过没想到用浮点数,而是直接除,再判断是否整除,就没这么简洁了。
 
1 #include 
2 #include
3 4 int main() 5 { 6 int t,a,b,c,d; 7 while(scanf("%d",&t)!=EOF) 8 { 9 while(t--)10 {11 scanf("%d %d %d",&a,&b,&c);12 if(a>b)13 {14 d=a;15 a=b;16 b=d;17 }18 if(a>c)19 {20 d=a;21 a=c;22 c=d;23 }24 if(b>c)25 {26 d=b;27 b=c;28 c=d;29 }30 if(a*1.0/4==b*1.0/5 &&b*1.0/5==c*1.0/6)31 printf("major\n");32 else if(a*1.0/10==b*1.0/12 &&b*1.0/12==c*1.0/15)33 printf("minor\n");34 else35 printf("noise\n");36 }37 }38 return 0;39 }

 

转载于:https://www.cnblogs.com/weigx/p/4428681.html

你可能感兴趣的文章
树状数组及其他特别简单的扩展
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
2019春 软件工程实践 助教总结
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
java实现哈弗曼树
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
python常用模块之sys, os, random
查看>>
HDU 2548 A strange lift
查看>>