プロが教える店舗&オフィスのセキュリティ対策術

以下が、その問題文と解答となるソースコードです。
疑問点があるので質問します。


キーボードをタイプして変数nに整数を入力し次のように処理するプログラムを作成しなさい

5で割った余りが0ならば "5n"と表示する
5で割った余りが1ならば "5n+1"と表示する
5で割った余りが2ならば "5n+2"と表示する
5で割った余りが3ならば "5n+3"と表示する
5で割った余りが4ならば "5n+4"と表示する


以下がその答えのソースコードです。

package 第10章;
import lib.Input;
public class 練習10の1の2 {
public static void main(String[]arg){
int n=Input.getInt();
switch(n%5){
case 0:
System.out.println("5n");
break;
case 1:
System.out.println("5n+1");
break;
case 2:
System.out.println("5n+2");
break;
case 3:
System.out.println("5n+3");
break;
case 4:
System.out.println("5n+4");

}

}

}


質問:"5n+1"とか"5n+2"とかを表示させる意図はなんですか?
全然わからないです、、

もしかして、例えば、余りが1の場合、5*nの答えは、5*n+1だから、5n+1を表示させるということでしょうか?

A 回答 (2件)

数学的には、整数mが5で割って余りrなら m=5n+r (nは整数) という意味はありますが...



究極には「そういう仕様だから」です。

この回答への補足

>数学的には、整数mが5で割って余りrなら m=5n+r (nは整数)


ここ詳しく聞かせてください!
数学的意味が知りたいです

補足日時:2011/08/25 02:37
    • good
    • 0

数学的な意味はこれ。

というか定義。
http://ja.wikipedia.org/wiki/%E9%99%A4%E6%B3%95

くりかえすけど、プログラム的な意味は
「5で割った余りが0ならば "5n"と表示する
5で割った余りが1ならば "5n+1"と表示する
5で割った余りが2ならば "5n+2"と表示する
5で割った余りが3ならば "5n+3"と表示する
5で割った余りが4ならば "5n+4"と表示する」
という仕様を満たしたプログラムの一例、というだけ。たまたま数学と一致している、というだけ。

例えば
「5で割った余りが3ならば "5n+1"と表示する」
という仕様だったら
「13」と入力して「5n+1」と表示されるのが「仕様的に正しいプログラム」
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!