2つの音の周波数から、うなりの周波数を計算する問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「Dランク早解きセット」からの出典です。
paiza.jp
・問題
周波数のわずかに異なる音が干渉すると、うなりが生じます。
うなりの周波数は2つの音の周波数のうち、大きい方の周波数から小さい方の周波数を引くことで計算できます。
2つの音の周波数が入力されるので、うなりの周波数を計算して出力してください。
・入力される値:入力は以下のフォーマットで与えられます。
f1 f2
f1、f2は周波数の値
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。
・期待する出力
f1とf2のうなりの周波数を出力してください。
・条件
すべてのテストケースにおいて、以下の条件をみたします。
100 ≤ f1, f2 ≤ 1000
ただし、f1 ≠ f2
僕が作成、提出したコードは、以下のとおりです。
/* C言語によるうなりの周波数 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<stdio.h> int main(void){ int f1,f2; scanf("%d %d",&f1,&f2); if(f1<f2){ printf("%d\n",f2-f1); }else{ printf("%d\n",f1-f2); } return 0; }
Pythonのバージョンは、3.x に対応します。
#Pythonによるうなりの周波数 #https://paiza.jp/works/mondai #提出コードの解答例 #https://neguse-atama.hatenablog.com f1, f2 = list(map(int, input().split())) if f1<f2: print(f2-f1) else: print(f1-f2)
/* Javaによるうなりの周波数 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 a = sc.nextInt(); int b = sc.nextInt(); if(a > b){ System.out.println(a-b); }else{ System.out.println(b-a); } } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。