音の周波数から、可聴領域を判定する問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「Dランク早解きセット」からの出典です。
paiza.jp
・問題
人が聞くことができる音の周波数は、20Hzから15,000Hzほどであると言われており、15,000Hzから20,000Hzの音が聞こえるかどうかには個人差があるそうです。
入力として音の周波数が与えられるので、その音が聞くことのできる周波数の範囲に入っているかどうかを判定して出力してください。
・入力される値:入力は以下のフォーマットで与えられます。
f
fは自然数
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
・期待する出力
20 ≤ f ≤ 15000 のとき、yes
15000 < f ≤ 20000 のとき、not sure
それ以外のとき、no
を出力してください。
・条件
すべてのテストケースにおいて、以下の条件をみたします。
10 ≤ f ≤ 40000
僕が作成、提出したコードは、以下のとおりです。
/* 音の周波数から、可聴領域を判定する問題 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<stdio.h> int main(void){ int f; scanf("%d",&f); if(f>=20 && f<=15000){ printf("yes\n"); }else if(f>15000 && f<=20000){ printf("not sure\n"); }else{ printf("no\n"); } return 0; }
/* 音の周波数から、可聴領域を判定する問題 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int f = sc.nextInt(); if(20 <= f && f <= 15000){ System.out.println("yes"); }else if(15000 < f && f <= 20000){ System.out.println("not sure"); }else{ System.out.println("no"); } } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。