
C言語初心者の質問失礼します。
学校で、
「つると亀が合わせてn 匹います。足の数は合わせてm です。n とm を入力して、つると亀がそれぞれ何匹いるかを求めるプログラムを作りなさい。もし解がない場合は、その旨を出力するようにプログラムしなさい」
という課題が出たのですが、どうプログラムすればいいかわからずに困っています。
どのようにプログラムすればいいか、どうか一言でもかまいませんのでご意見ください!><
こんな質問してごめんなさい。もしよければプログラミングをわかりやすく学べるHPのURLも教えていただければ嬉しいです…。
No.3ベストアンサー
- 回答日時:
考え方だけコメントしてみます。
つるがi匹いるものとします。
iが0のとき、亀はn匹なので、足の数はi*2+n*4となりますよね。
これがmと一致したら、つる0匹が答えです。
一致しなかった場合。
iが1のとき、亀はn-i匹なので、足の数はi*2+(n-i)*4となりますよね。
これがmと一致したら、つる1匹が答えです。
といったように、iを0~nまで一つづつ大きくしていって
比較を繰り返せばいいのです。
これにはforループを使います。
あとはご自身でできるでしょうか?

No.5
- 回答日時:
鶴亀算の解き方は知っていますか?
解き方を知らなければコンピュータに解き方を教えることができません。
もし解き方がわからなければ数学の連立方程式の解き方を思いだしてみてください。
・鶴をx、亀をyとしてn=5、m=16とした場合
x+y=5
2x+4y=16
2x+2y=10
2y=6
y=3
x+3=5
x=2
ちなみに解がない場合は頭数が少数になったりマイナスになったりします。
No.4
- 回答日時:
問題になる部分は次の三カ所です。
1. 鶴亀算そのもの。
これは、鶴と亀の数をmとnで表せるように、代数的な計算は紙の上でやってしまいます。
2. mとnをどのように入力し、結果をどのように出力するか?
環境不明なので、標準入力と標準出力を使うのが普通の考え方です。入力に関しては、コマンドライン引数を使うのもアリでしょう。
3. 数値の表現範囲をどうするか?
unsigned long long型で表現できる範囲でよいのか、そうでないならどこまで必要なのか?
これらについて解決することが先決かと思います。
No.2
- 回答日時:
fgets なら当然「指定したバイト数」しか読めませんが, scanf なら「int に入る限り」大丈夫だと思いますよ>#1. 少なくとも規格には「バイト数の上限」はないはずです.
手元では scanf で 3921桁の数値 (000.....0001, つまりただの 1 ですが) を読み込めてます. gcc の方が VC より速いんだけど.... なんでだろう.
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
cout関数を使っているのですが...
-
EDITコントロールで入力できる...
-
getchar()について 教えてくだ...
-
入力候補を表示させるには・・・?
-
改行のせい(?)で入力がうまくい...
-
日付型のデータに変換するには!?
-
正負を反転させて出力するプロ...
-
Excel VBAで、Application.Inpu...
-
if文の条件にscanf関数を使うと…?
-
C言語でgetchar();が上手く使え...
-
入力値が1以下、かつ数字以外の...
-
java初心者です。入力されたの...
-
C言語 atoi関数
-
C++:cinが上手く使えない
-
最早開始時間と最遅完了時刻を...
-
20'(角度)の計算がわかりま...
-
信頼区間の1.96や1.65ってどこ...
-
Aの値からBの値を除するとは??
-
値差の%計算方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
コマンドプロンプトからのEOFの...
-
4桁の数字以外を入力したらエラ...
-
Eclipseコンソール表示を、リセ...
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
cout関数を使っているのですが...
-
プログラミングの問題です 「金...
-
scanf関数について
-
Userformの入力順序をタブオー...
-
C言語でgetchar();が上手く使え...
-
プログラムの実行時に'<'でリダ...
-
C言語初心者です。ファイルの読...
-
scanf が無視されます
-
実行結果の順番がおかしいんで...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報