dポイントプレゼントキャンペーン実施中!

はじめまして、ヨロシクお願いします。
早速ですが、私は今「入力された数値を7で割った値を表示しろ」という問題に取り組んでいます。これには次の条件があります。
(1)演算子の/を使ってはいけない。
(2)繰り返し処理を使ってはならない。
という縛りがある上で計算をしたいと思っているのですが、なかなかうまくいきません。何かいい方法はないでしょうか。
よろしくお願いします。

A 回答 (10件)

/7.0


の代わりに
*0.14285714285714285
と書けば、いいのでは。
    • good
    • 0
この回答へのお礼

ありがとうございます。
とてもシンプルな上に確実だと感じました。
とても参考になりました。

お礼日時:2007/05/22 01:23

もしかして、


演算子「/」を使わずに、「/=」を使えって事だったりして?

a = 12345678; // 入力された数値
a /= 7; // 7で割る
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
勉強を深めるために参考にさせていただきたいと思います。

お礼日時:2007/05/22 01:19

ANo.6さんの回答が良いと思います。



なお、別解としては、つぎのような感じです。
public class Test {

public static void main(String[] args) {
double x = 100.0;
double y;
if (x > 0) {
y = Math.exp(Math.log(x) - Math.log(7.0));
} else if (x < 0) {
y = -Math.exp(Math.log(-x) - Math.log(7.0));
} else {
y = 0;
}
System.out.println(y);
}
}
    • good
    • 0
この回答へのお礼

ありがとうございました。
とても参考になりました。

お礼日時:2007/05/22 01:20

double N = 20; // 割られる数


double M = 7; // 割る数

double a = N * Math.pow(M, -1);
System.out.println(a);
    • good
    • 0
この回答へのお礼

ありがとうございます。
勉強していく上で参考にさせていただきます。

お礼日時:2007/05/22 01:21

入力された数値が自然数であることが前提ですが。

こういうのはどうでしょう (動作未確認)。

int N; // 入力
int M; // 出力

String s = new String(N, 7);
M = Integer.parseInt(s.substring(0, s.length() - 1), 7);
    • good
    • 0
この回答へのお礼

ありがとうございます。
これからの勉強にいかさせていただきます。

お礼日時:2007/05/22 01:22

int i;


int z;
i = z %3; //zを3で割ったあまり

でOK?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
これから勉強する上で参考にさせていただきます。

お礼日時:2007/05/22 01:24

すぐに思い付くのは与えられた数が 7 より小さくなるまで「繰り返し」引き算することだね。


繰り返しがダメならその部分を再帰呼び出しにするとか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせていただきます。

お礼日時:2007/05/22 01:25

この辺を使うのが多分お手軽?(出題者の意図とは違うかもしれませんが…)


java.math.BigInteger.divide
java.math.BigDecimal.divide
    • good
    • 0
この回答へのお礼

ありがとうございます。
これから勉強するにあたり、参考にさせていただきたいと思います。

お礼日時:2007/05/22 01:26

ごめん ちがった 。

。。
    • good
    • 0

7回引き算。

    • good
    • 0

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