• ベストアンサー

Javaプログラムソース(結果が100になる)

Javaプログラムソース(結果が100になる) 「123456789」 左の数列の数字の間に「-」か「+」、もしくは何も入れないで得た式を計算し、合計が100になった場合その時の式を出力せよ』という課題が出ました。 ソースを教えてください!

  • Java
  • 回答数4
  • ありがとう数19

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

  • ベストアンサー
  • taka_2
  • ベストアンサー率80% (4/5)
回答No.4

総当たりするプログラムを書いてみました。 ソースは2000字で入りきらないので、gistに置いてあります。 http://gist.github.com/438854

参考URL:
http://gist.github.com/438854
rarararai-1
質問者

お礼

ありがとうございます!参考になりました!

その他の回答 (3)

回答No.3

考え方のヒント (1)どうすればすべての式を作れるか? (2)その式をどうすれば計算できるか? ……というところを考えていけば良いかと。演算子が「-」か「+」だけなので演算順序は左から順番にやっていけばいいので、この部分は比較的楽です。 ちなみにC#で作って実行させたら、計算結果が100になるのは11通りありました。

rarararai-1
質問者

お礼

ありがとうございます!無事に完成させることができました!

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

12-3-4+5-6+7+89 こういうのを作れって事よね。 総当りでがんばるしかないんじゃないかしら。

rarararai-1
質問者

お礼

そうゆうことですね、繰り返しなどをもちいました。

  • kotoby2003
  • ベストアンサー率15% (280/1755)
回答No.1

自分で考えることが大事ですよ。 まあ、こんな課題を出す奴は、正直言って、アホだと思いますけどね。 Javaの勉強をするのに、こんな難しい課題をクリアする必要なんてないのに・・・。

rarararai-1
質問者

お礼

アホだと思います笑

関連するQ&A

  • 結果が100になるプログラム(pascal)

    『「123456789」 左の数列の数字の間(1の左にも入れる)に「-」か「+」、もしくは何も入れないで得た式を計算し、合計が100になった場合その時の式を出力せよ』という課題が出ました。 間に入れる文字の配列を作りそれを数列に挿入し計算、合計が100ならその式を出力し配列を変えまた計算・・・という流れです。 配列において「+」=1,何も入れない=0、「-」=-1 と数字に置き換え最初は左から(-1、-1、-1、-1、-1、-1、-1、-1、-1)を入れ(=-1-2-3-4-5-6-7-8-9)、一番右を1ずつカウントアップして配列を変えていきます。 配列は作れたのですが、それを挿入して計算するところでつまずいてしまいました。アシスタントの方に尋ねて ・スタックを使う ・-か+が出るまで、取り出してる数を10倍していく という方法は理解できたのですが、それをプログラムにするのができません。 どなたかご教授お願いします。

  • JAVAでフォートランのプログラムを動かす方法

    プログラムの初心者なのですが、JAVAを使ってプログラムを作るのですがJAVAで入出力の部分を作りそこで設定した値をフォートランで作ってある計算プログラムにいれて計算させ結果をJAVAで出力することはできるのですか? 簡単に書くと 入力画面(JAVA)    ↓   計算(フォートラン)    ↓ 出力画面(JAVA) こういう感じのものができるかどうか教えてください。 宜しくお願いします。

    • ベストアンサー
    • Java
  • JAVAについて教えてください

    JAVAに関しての質問です。 以下のプログラムを教えていただけますでしょうか? 以下の漸化式で定義される数列 an について a0=0,a1=0,a2=1, an+3=an+2+an+1+an(n≧0) コマンドライン入力に非負の整数値 n(n≧0) を入力すると、 an を計算しその結果を標準出力に出力するプログラム 【実行例1】 「コマンドライン入力」 1 「標準出力」 a(1):0 【実行例2】 「コマンドライン入力」 10 「標準出力」 a(10):81 【実行例3】 「コマンドライン入力」 30 「標準出力」 a(30):15902591 よろしくお願いします。

  • javaを使って<html>等のソース自体を出力したいです。

    javaのプログラムで、<HTML><HEAD><TITLE>???</HTML></HEAD></TITLE> 等のHTMLのソース自体のようなものを出力させたいときはどうすればいいのですか?メモ帳などに出力させることができるならそれでもいいのですがそういったメソッドはがあるのでしょうか、、、教えてください。

  • プログラムできなくて困っています。ソースを教えてくれれば助かります。

    かなり困っています、JAVAに詳しい皆さんアドバイスをよろしくお願いします。 かなり長くてすみません、よろしくお願いします。 プログラム課題:任意のデータの最大値と最小値をもとめる、買い物の金額を計算し、整理する会計プログラムを次の仕様で作成しなさい。 「税抜き単価」と「個数」を入力すると、次の出力が得られる。 1.合計金額と税込み金額 2.一番単価の安かったものの金額(税抜き) 3.一番単価の高かったものの金額 ・ただし全ての製品が課税対象で税率5%とする。 ・単価に0を入力したら処理を終了する。 実行結果の例 買い物したものの単価は:(入力待ち) 何個買いましたか?:(入力待ち) これまでの合計金額は、○○(税込み:△△)円です。 一番安いものの値段は、税抜き××円です。 一番高いものの値段は、税抜き☆☆円です。 (処理の繰り返し) 買い物したものの単価は:(0を入力して終了) (注意) 1.単価の最小値を記憶する変数、単価の最大値を記憶する変数、金額合計値を記憶する変数を用意し、それぞれ、10000、0、0を代入しておく。 2.while(true)で無限ループをつくる。 2.1 "買い物したものの単価は(0を入力で終了):"と表示する 2.2 キーボードから値を入力する。 2.3 もし、入力した値が0ならばbreakでループを抜ける 2.4入力値が記憶している最大値より大きいならば、その値を最大値として代入。 2.5入力値が記憶している最小値より小さいならば、その値を最小値として代入。 2.6"何個買いましたか?:"と表示する。 2.7キーボードから値を入力する。 2.8合計値を更新する。 2.9合計金額、単価の最小値、単価の最大値を様式に従って表示する。 3.0できるだけ簡素に。

  • java 単振り子 ルンゲクッタ法

    javaを使って単振り子の運動方程式をルンゲクッタ法を使って、数値計算し、結果をappletを使ってグラフにするという課題に取り組んでいます。 恥ずかしながらjavaは始めたばかりで、いろいろソースも調べたのですが違う言語や、appletでないものしかありません>< ですので、javaでルンゲクッタ法を使って単振り子の運動方程式を数値計算するソースの書き方を教えてもらいたく質問させていただきました。グラフ化はどうにかがんばるのでその数値計算のところをぜひ教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • C言語のプログラムが作れません

    最初に0がいくつかあり, そのあとに0以外の数字がいくつか出てきて, また0がいくつか出てきて, さらに0以外の数字が出てきて, また0がいくつか出てきて, 最後に100が2個が出てくる それの繰り返しの 数列のa.csvファイルがあります.(下記にサンプル記載) これの100が2個出てくるまでを一区切りとして, それまでに出てくる“0だけの数列”の“0”の個数をそれぞれ数えて, その結果をファイル出力するプログラムを作成したいのですが, 手も足も出ません.どなたか,作成していただきませんか(T_T) よろしくお願いします. 0 0 0 3 4 5 0 0 -2 -4 -5 0 0 0 0 0 100 100 0 0 0 0 0 -4 -5 -6 0 2 3.5 4 5.6 0 0 0 0 0 100 100 0 0 . . . . <出力ファイル> b.csv 1-1,3 1-2,2 1-3,5 2-1,5 2-2,1 2-3,5 . . .

  • このようなソースプログラムを作りたいのですが・・・

    1から1000万までの数字を入力したときに その入力した数字のなかに5があった場合には「go」と表示されるようなものです。 #include <iostream> using namespace std; から始まるプログラミングで作りたいです。 どのようなソースプログラムを作ったらいいんでしょうか? MACのパソコンを使っています。

  • ソースのない実行プログラムについて

    ある実行プログラム(VBで作成、exe形式、ソースなし)があります。 プログラム(.exe)を起動することで画面上に入力画面が表示されます。 いくつかの必要項目を入力し、計算ボタンを押下し計算を流すことで.xlsに結果を出力することができます。 1ジョブの計算時間に数時間かかるのと件数が多いため、仕事帰りに複数のパソコンで処理し、1台のパソコンで複数件処理できないか?その方法を検討しています。   入力画面に必要項目を自動入力でき、1つのパソコンで複数件処理できる方法はないでしょうか?

  • javaの繰り上がった回数を表示するプログラム

    javaの繰り上がった回数を表示するプログラム javaの繰り上がった回数を計算するプログラム 1ケタから10ケタの足し算をし繰り上がった回数を表示するプログラムを作成したいのです。 例 入力:159 444 出力:2回 入力:6789 4321 出力:4回 このようなメソッドはあるのですが、{???}のところに入る部分が分かりません。 static private int 繰り上がり回数(long m1,long m2){ int c=0,kuri=0; while( (m1!=0) && (m2!=0) ){ kuri= {???} /10; c+=(kuri!=0)?1:0; m1/=10;m2/=10; } return c; }

専門家に質問してみよう