• ベストアンサー

javaの計算

javaの計算で、17を3で割ったときの余りを、%を使わずに求めたいのですが どうやったらいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kacchann
  • ベストアンサー率58% (347/594)
回答No.2

a÷b の商をq, 余りをrとおくと r = a - (q*b) ------ つまりJava言語で書き直せば、 int mod(int a, int b) { int q = a/b; int r = a - (q*b); return r; } 書き直して int mod(int a, int b) { return a - (a/b*b); }

poiwer
質問者

お礼

ご回答有難う御座いました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

17 - (17 / 3) * 3 17 - ((int)17 / (int)3) * 3

poiwer
質問者

お礼

ご回答有難う御座いました。

全文を見る
すると、全ての回答が全文表示されます。
  • yutopapa
  • ベストアンサー率47% (139/295)
回答No.1

BigIntegerクラスのdivideAndRemainder()メソッドで出来そうですよ。

poiwer
質問者

お礼

ご回答有難う御座いました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Javaで並列計算

    並列計算クラスタの購入を勧められられています。 ところで、Javaで並列計算をやる方法ってあるのでしょうか?簡単でしょうか? 今のところ、シリアルの計算を複数流す、くらいしか使う方法が思いつかないのですが、並列計算がJavaで簡単に出来るのなら、ソースコードを作り直そうと思っています。 経験者の方か、知識がある方ががいらっしゃったらうれしいです。

  • java scriptでの計算式はどこまで可能ですか

     お尋ねします。 ホームページでの見積もりフォームを作るに当り、excelをアップしても機能しないことはわかりましたが、 java scriptで簡単な電卓程度の計算式が可能ということを知りました。次の計算式はexcelでの計算式なのですが、 これをjava scriptでつくることは可能でしょうか。 ((((A+350)/B)+0.999)*C)/1000  ABCは各フォームになっています。 よろしくお願いいたします。

  • Javaをエクセルに貼り付け計算したい

    Javaで、作られた数字データをエクセルに貼り付け計算したいのですが、これは不可能ですか?

  • Javaを使った行列計算

    Javaを使って行列の固有値などを求めるプログラムを 作りたいと考えています。そこで、自分で全て実装する前に Javaのライブラリの中に行列を扱うクラスなどがあるのならば それを利用したいと考えています。そこで、Javaのライブラリに 行列計算に適したクラスなどは用意されているでしょうか。 もしありましたら、教えて頂きたいと思います。お願いします。

    • ベストアンサー
    • Java
  • Javaで計算

    Javaを10月から始めた初心者です。 摂氏から華氏に変えるプログラムを作成したいのですが、結果が合いません。 計算の所のプログラムが間違っているのだと思うのですが、どうすれば良いのか分からないので教えてください。 import java.io.*; class quiz01{ 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); int F = 9/5*num+32; System.out.println("華氏の温度Fは " + F + " です。"); } } よろしくお願いします!

    • ベストアンサー
    • Java
  • あまりを求める計算式ってありますか?

    87392738978111064894÷1761の余りだけを知りたい場合、計算式ってありますか? 一度商を出して計算する普通の?計算方法でしか余りを求めることは出来ないのでしょうか?

  • Javaによる数値計算 高速化

    大きな2次元配列を使った数値計算を実施しています。 これまではFortranをメインで使用していましたが、モデルへの機能追加などが容易なことから オブジェクト指向言語に取り組み、ようやくJavaに移植が完了しました。 事前に調べた所では、Fortran、C++、Javaいずれも速度に大きな差は無いとありました。 (そもそもこれは本当でしょうか?) 1~2割程度遅いのなら許容出来るつもりでしたが、いざ実行してみると、 Fortranで3ステップ進む時にJavaでようやく1ステップ進むといった感じで、少々困っております。 ⇒ そんなことあり得ないということであれば、自分のプログラムのバグを疑いますが。ただ、計算結果は概ね良好のようです。 それで、気になったのが、Fortranでは、コンパイル時に最適化してくれるのですが、 今調べたところJavaにはそれがないようです。 言われてみると、Fortranで最適化オプションを実施しなかった時にはこのくらいの遅さだったように思えます。 それで、前置きが長くなりましたが、Javaで最適化あるいは高速化する方法は無いのでしょうか? プログラミング自体が専門ではないので、できれば人間に分かりやすいコーディングのまま使いたいのですが。 初心者が陥りがちなところで、これを直せば、だいぶ速くなるというような一般的な注意事項などありましたら教えていただきたく存じます。

    • ベストアンサー
    • Java
  • Javaについて。

    Javaで祝日表示を造りたいのですが誰かに聞いたら「計算しろ。」って言われました。 プログラミング分かる人は教えてください。

    • ベストアンサー
    • Java
  • Javaでlog

    Javaをやっているのですが、logの計算が したいです。 しかし、まだJavaを勉強したてで、 また調べたのですが、よくわかりません。 お願いします。 メソッドを使うのですよね?

    • ベストアンサー
    • Java
  • JavaとCを連携させて計算を行う時のスピード

    Javaアプリケーションからデータをもらって それをもとにC(またはC++)で計算を行い その結果をJavaアプリケーションにまた引き渡す、 ということをやろうと思っております。 Cで計算をしようと思った理由は たぶんCが一番速い言語なのかな、ということです。 しかし、成り行きによってはpython、もしくは統計ソフトR などを使わなければいけない可能性もありまして、 そういう状態での質問となってしまい申し訳ないです。 Cをはじめとしたいくつかの言語をこれまでに経験していますので、 新しい言語を覚えることは問題ないだろうと思います。 質問の主眼ですが、 スピードを重視するなら どの言語にJavaからデータを引き渡すのがいいか、ということです。 ただ、そんなことをやらずに最初から一貫してJavaで処理してしまう、という手もあるのかもしれません。 また、Javaの相手役としてそれぞれの言語を選んだ時の注意点なども お聞かせいただけると幸いです。 どうぞよろしくお願いいたします。