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

「5」と入力すると、「1*2*3*4*5=120」(階乗)と表示されるプログラムを組みたいのですが、
例で言うと120という計算結果は出せるのですが式の部分が出せません。
forまたはwhileによって作るんですが誰か式をうまく出すプログラムが分かる人いらっしゃいませんか?

A 回答 (3件)

import java.io.*;



public class kaijyou {
public static void main(String[] args){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

System.out.print("数字を入力=> ");
int x = Integer.parseInt(in.readLine());
int y=1;

System.out.print("結果は ");
for(int i=1;i<x;i++){

System.out.print(i+"*");
y=i*y;

}
System.out.print(x+"=" +y*x );
}
}
    • good
    • 11
この回答へのお礼

今やってるタイプとおなじ形です!
ありがとうございました。

お礼日時:2007/06/20 15:40

セルA1に計算対象値を入力し、セルB1に計算結果を表示するものとすると、


 エクセルの関数式の場合
  セルB1に[=IF(A1>0,FACT(A1),"")]と記述する。
 エクセルのマクロの場合
  Dim A,B,C
A=RANGE("A1").VALUE
IF A>0 THEN
B=1
FOR C=1 TO A
B=B*C
NEXT C
END IF
RANGE("B1")=B
これでいかがでしょうか
    • good
    • 0

これでどうですか?


public StringBuffer func(int a){
if(a > 0){
StringBuffer f = new StringBuffer("1");
long ans = 1;
int tmp = 1;
while(++tmp <= a){
f.append("*").append(tmp);
ans *= tmp;
}
f.append("=").append(ans);
return f;
}
return null;
}
    • good
    • 0

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