A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
「java 素数かどうか判断 素因数分解」でググったら色々出てきますよ。
http://detail.chiebukuro.yahoo.co.jp/qa/question …
http://detail.chiebukuro.yahoo.co.jp/qa/question …
http://oshiete.goo.ne.jp/qa/4584777.html
http://blog.goo.ne.jp/dc1394/e/bf6c6cb2068ae0b6c …
それとも考え方?
素数は解りますよね?1か自分以外の値でしか割れない(小数点はNG)数です。
なので、2から順番に割り切れるか判断していっていきます。余りが0なら
割り切れているので素数ではありません。それを判断したい数まで繰り返し
そこまで割っても割り切れなかった場合、素数となります。
素因数分解は、一番小さい素数「2」から順次割っていきます。割り切れなかったら
次に大きい素数で割ります。割り切れたら今度はその商を元に割って生きます。
それを商が1になるまでか、素因数分解したい値になるまで繰り返します。
例えば、30を素因数分解してみます。
先ず2から割っていきます。30÷2=15で割り切れます。ので「2」が抽出できます。
次にまた2で割りますが、15は割り切れないので次の値である3で割ります。15÷3=5
です。更に3で割り5は割り切れないので4、4も割り切れないので5、5で割ると
5÷5=1で割り切れて商が1になったので終了。
よって、30を素因数分解すると「2×3×5」となります。
これをプログラムすれば良いしヒントは上記したURLに載ってますので。
以上、ご参考まで。
No.1
- 回答日時:
整数nを入力し、それが素数かどうか判断するプログラム
というのが既に存在しているのね。
それがどんなコードか分からないけど
それを拡張しなくちゃいけないのだから
それが分からないと何もアドバイスできないわよ。
この回答への補足
そうですよね。すいません!
import java.io.*;
class Prog8_6
{
public static void main(String[] args) throws IOException
{
System.out.println("整数を入力してください。");
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
String str= br.readLine();
int num = Integer.parseInt(str);
for(int i=2; i<=num; i++){
if(i==num){
System.out.println(num+"は素数です。");
}
else if(num%i==0){
System.out.println(num+"は素数ではありません。");
break;
}
}
if(num==1){
System.out.println(num+"は素数です。");
}
}
}
このコードからの拡張でお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力された文字列を数値に置き換えて整数にし、計算をしたいです。 <を10として /を1とし 4 2022/05/16 21:08
- Java Java 年数計算 3 2023/01/28 10:52
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 正の整数nを入力させると、1からnまでの整数を出力し 9 2022/07/16 23:45
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# 整数1〜99を入力させ、それを英語で表示するプログラムを作成したいんですが、そのプログラミングを教え 4 2023/04/28 14:12
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 malloc 関数を使って教えてください。 入出力例1 3 2022/07/21 09:36
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JCLの基本について教えてください
-
4桁の数値を逆に表示されるプ...
-
【JAVA】数字をひし形に出力す...
-
main関数終了時のreturnの意味は?
-
PICのプログラムでsrandを使う...
-
変数の値が勝手に変化する原因
-
COBOLのピリオド
-
Fortran "実引数の型が仮引数の...
-
プログラミング
-
N88basicを用いたGPIB制御
-
あるプログラムのコマンドライ...
-
C言語の課題で、1年の秒数を計...
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
「Outlookが他のプログラムによ...
-
C++ で、「)」が必要 というエ...
-
バッチファイルでUSB挿入時に実行
-
graph.hがincludeできない
-
正しい五十音順について
-
読み込み中にアクセス違反が発...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング
-
【JAVA】数字をひし形に出力す...
-
変数の値が勝手に変化する原因
-
ruby
-
JCLの基本について教えてください
-
値Xを入力し、その平方根を画面...
-
N88basicを用いたGPIB制御
-
COBOLのピリオド
-
ProC 固定SQLでNULLってどう表...
-
Fortran90についての質問です。
-
main関数終了時のreturnの意味は?
-
360度を超える角度
-
C言語 バッファについて。
-
3つの整数のうち奇数のみを表示...
-
Fortran "実引数の型が仮引数の...
-
Delphi 6 で 2進数→10進数変換
-
javaで整数nを入力し、それが素...
-
fortran if文
-
3次関数を作るプログラム
-
BASICプログラム入門 副書名 プ...
おすすめ情報