アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaです

3を代入した場合に
1! = 1
2! = 2
3! = 6
となるように二重ループを用いて書いたんですが
一重ループの場合には階乗1つだけいけるんですが
そこにもう一つfor をくっつけるとおかしくなります。

import java.util.Scanner;
class Main{
public static void main(String[] args){
int n, total;
Scanner sc = new Scanner(System.in);

System.out.print("n= ");
n=sc.nextInt();

total = 1;

for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
total = total*i;
}
System.out.println(total);
}
}
}

A 回答 (4件)

java知りませんが、、、




for(int i=1;i<=n;i++){
total = 1;
for(int j=1;j<=n;j++){
total = total*i;
・・
    • good
    • 0
この回答へのお礼

無事いけました( ; ; )
ありがとうございます!

お礼日時:2021/09/30 17:01

for  (int i=1;i<=n;i++){


    total = 1;
  for(int j=1;j<=i;j++){
    total = total*j;
  }
  System.out.println(i+"! ="+total);
}
ではどうでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2021/09/30 17:01

中途半端な回答で、すみません。


・・・・
for(int i=1;i<=n;i++){
total = 1;
for(int j=1;j<=n;j++){
total = total*j;
・・・



のようにすべきかな?
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2021/09/30 17:01

例えばn=3の場合


total=1*1*1*2*2*2*3*3*3
になりますね。jのループは不要です。
jのループの終了ごとにプリントするので、
1
8
216
と3回表示されます。
    • good
    • 0
この回答へのお礼

説明不足ですいません。
jのループを無くした場合、n = 3 と表示されますが今回の場合 n = 3 を代入したら
1! = 1
2! = 2
3! = 6
と表示したく、また問題には二重ループを使いなさいと書いてあって。教えてください!

お礼日時:2021/09/30 16:38

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