質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

1回答

1326閲覧

素数判定 while文 関数化

Vortex666

総合スコア3

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2021/07/28 03:22

編集2021/07/28 04:39

前提・実現したいこと

Java Scriptを勉強中です。

do-while文を用いて素数かどうかを判定するプログラムを書いたのですが、このコードを、再利用できるように関数にして処理するにはどうすればいいでしょうか?

説明が下手で申し訳ありません。
初心者に分かりやすく教えてくださる方いらっしゃいませんか?

該当のソースコード

JavaScript

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="UTF8"> 5 <title>素数を判定する</title> 6 </head> 7 <body> 8 <script> 9 var inputNum; 10 do { 11 inputNum = +prompt( "素数かどうかを判定したい数を入力してください" ); 12 } while( inputNum < 2 ); 13 14 var i; 15 var outMsg = inputNum + "は素数です"; 16 for( i=2; i<=(inputNum/2); i++ ) { 17 if( (inputNum % i )==0 ) { 18 outMsg = inputNum + "は素数ではありません"; 19 break; 20 } 21 } 22 alert( outMsg ); 23 </script> 24 </body> 25</html>

補足情報(FW/ツールのバージョンなど)

関数の名前:Prime_number
仮引数(素数判定したい数):In_num
関数の定義は<head></head>の中に書く。

戻り値がtrueの場合
outMsg = (入力した数)+ "は素数です"
戻り値がfalseの場合
outMsg = (入力した数)+ "は素数ではありません"
このような形にしていただける嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javahack

2021/07/28 03:46

「コードをください・デバッグしてください等の丸投げの質問」は非推奨です。 https://teratail.com/help/avoid-asking 知恵袋等の他のサイトの利用を考えてみてはいかがでしょうか。
guest

回答1

0

ベストアンサー

早期returnで書くとわかりやすいような気がします(動作未確認)

js

1function Prime_number(In_num) { 2 for (let i = 2; i <= (In_num / 2); i++) { 3 if ((In_num % i) == 0) { 4 return false; 5 } 6 } 7 return true; 8} 9Prime_number(57) // false

投稿2021/07/28 06:32

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Vortex666

2021/07/28 13:04

HTML部分はどのように書きましたか?
Lhankor_Mhy

2021/07/28 13:06 編集

別に書いてないです。 何かわからないことがありましたか?
Vortex666

2021/07/28 13:15

上の do-while分の部分が functionの中にないので、HTMLの部分に書いているのではないかと思いまして....
Lhankor_Mhy

2021/07/28 13:19

そういうご指定ですよね? 仮引数(素数判定したい数):In_num ということですから、関数の中で入力を受け付けるわけではないですよね?
Vortex666

2021/07/28 13:22

はい、そうですが...
Lhankor_Mhy

2021/07/28 13:54

ご要望の通りに関数化できていると思いますが、わからない部分はどこなんでしょう?
Vortex666

2021/07/30 13:17

何とかできました。本当にちなみになんですけど、関数の中で入力を受け付ける場合はどんな感じになりますか?
Lhankor_Mhy

2021/07/31 00:58

ご解決されて何よりです。 > 関数の中で入力を受け付ける場合はどんな感じに ご想定されている形がよくわからないのですが、こういうことですか? function Prime_number() { var inputNum; do { inputNum = +prompt( "素数かどうかを判定したい数を入力してください" ); } while( inputNum < 2 ); var i; var outMsg = inputNum + "は素数です"; for( i=2; i<=(inputNum/2); i++ ) { if( (inputNum % i )==0 ) { outMsg = inputNum + "は素数ではありません"; break; } } alert( outMsg ); }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問