- ベストアンサー
c言語の問題
c言語のプログラム 「1」が3枚、「3」が3枚、「5」が3枚、「7」が4枚、「9」が5枚で合計18枚のカードがある。このカードを並べて6桁の数を3個作り、その3個の数の総和が「1234567」となるカードの組み合わせをすべて求めたいのですがどうすればよいか全然分かりません。 6桁の数を配列で表現し、和を求めるときに1の位から上位の桁へ順番に和が一致しているかチェックするのを、再帰呼び出しででしたいです。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- C言語(問題)
高校で使っているC言語の参考書の問題でどうしてもわからない部分があり悩んでます。 問題 正の二桁の整数をキーボードから入力し,その値を初期値として以下の増加値に従って増加を続け,それぞの値を表示する値が100以上になったら終了し,各値の総和およびデータ数を表示する。 増加値は入力した初期値の下一桁によって以下のように設定される。 ・初期値の下一桁が1または6のとき増加値は8 ・初期値の下一桁が2または7のとき増加値は3 ・初期値の下一桁が3または8のとき増加値は10 ・初期値の下一桁が4または9のとき増加値は5 ・それ以外のとき増加値は6 実行結果例 正の二桁の整数を入力してください 45 45 51 57 63 69 75 81 87 93 99 総和は 720 です データ数は 10 個です この問題をswitch-caseを使用して回答せよとのことなのですが初期値の下一桁の部分のプログラムがよくわかりません。。 回答お待ちしています。よろしくお願いします。。
- ベストアンサー
- C・C++・C#
- C言語での並び替えのプログラム
A[6][5]={{"abei"}, {"aceh"}, {"adeg"}, {"aef"}, {"bcfi"}, {"bdfh"}}; と配列があるとします。 (a).A[1][5]の文字列とA[2][5]の文字列を比較して、"abceih"という組み合わせた文字列を作り、その文字列の数を出します(この場合6個)。次に、A[3][5]のA[4][5]を比較して組み合わせて文字列を作り、その文字列の数を出します。A[5][5]とA[6][5]も同じように比較して組み合わせて文字列を作り、その文字列の数を出し、最後にそのすべての数の和を出します。 (b).この配列を並べ変えて(a)をします。 並び替え方は配列6個のとき 1.(1)(2)(3)(4)(5)(6) 2.(1)(2)(3)(5)(4)(6) 3.(1)(2)(3)(6)(4)(5) 4.(1)(3)(2)(4)(5)(6) 5.(1)(3)(2)(5)(4)(6) 6.(1)(3)(2)(6)(4)(5) 7.(1)(4)(2)(3)(5)(6) 8.(1)(4)(2)(5)(3)(6) 9.(1)(4)(2)(6)(3)(5) 10.(1)(5)(2)(3)(4)(6) 11.(1)(5)(2)(4)(3)(6) 12.(1)(5)(2)(6)(3)(4) 13.(1)(6)(2)(3)(4)(5) 14.(1)(6)(2)(4)(3)(5) 15.(1)(6)(2)(5)(3)(4) の15通りになります。 この配列の並びを前から配列を2つずつ取り出して比較すれば全組み合わせが完了したことになります。 この15通りの組み合わせの中で総和が一番少なくなる組み合わせ方を探すプログラムを作りたいのです。 そしてこのとき、配列が最大で40個までとなることがあるとするとその並べ替えのプログラムはどうなるでしょうか? 比較するプログラムは作ることに成功しましたが並べ替えのプログラムがうまく作れません誰か教えていただけないでしょうか?
- ベストアンサー
- C・C++・C#
- 整数問題/2ケタの整数を2個ずつ作る
以下の問題です。 -------------------------------------- 1~9の数字が書かれた9枚のカードがあります。 今,A君がまず2枚のカードを取り,十の位の数が一の位の数より大きくなるように並べて2ケタの数を作り,さらに2枚のカードを取り,十の位の数が一の位の数より大きくなるように並べて2ケタの数を作ります。こうして,A君は2ケタの数を2つ作ります。 次に,B君が残りの5枚のカードからA君と同様に2ケタの数を2つ作ります。 A君が作った2つの2ケタの数の和とB君が作った2つの2ケタの数の和が同じになったとき,和は全部で何通り考えられますか。 --------------------------------------------- [1]のカードを使わない場合は,繰り上がりがないので数えやすいのですが(6通り), その他の場合は,繰り上がりがないことの証明はどうしたらいいのでしょうか。 お力をお貸しください。
- 締切済み
- 数学・算数
- C言語の質問。
課題が出たのですがよくわからないので回答していただける方お願いします。 # 次のようにキーボードから4桁の10進数の入力を2回受付ける. Input the 1st value > 6479 Input the 2nd value > 1497 但し,4桁の各位の数は必ず互いに異なるものが入力されるとする. # 入力された数値に対して,以下に定義する「ヒット数」と「ホームラン数」を求める. * ホームラン数: 二つの数字を同じ位ごとに比較した時,何ヶ所の位について一致しているかを表す. * ヒット数: 二つの数字を異なる位同士で比較した時,一致している組み合わせの数を表す. 例 1234と1234の場合,0ヒット4ホームラン 1234と4321の場合,4ヒット0ホームラン 6479と1497の場合,2ヒット1ホームラン # ヒット数とホームラン数を次のように表示する. 2 hit(s) 1 home run(s)
- 締切済み
- C・C++・C#
- C言語のプログラムについて
C言語のプログラムについて 3桁の自然数の中で、自分自身を含めた約数が奇数になるものがいくつあるかを求めるプログラムを作りたいのですが、swich文を使って、6通りの方法で出そうとしていまして、 while 文、 for文、 do while文に加え、 for文のを、1つの関数として独立させたもの、 さらに、for文のを重ループ部分のそれぞれのループに対応して、2つの関数として独立させたもの、 そして、この2つの関数のどちらともをループを用いずに再帰呼び出しを用いたもの の6通りで出したいのですが、swich文を使うところは自力でできたのですが、あとの6つそれぞれのプログラムの組み方がわかりません。 教えていただけないでしょうか?ややこしい書き方をしてすいません・・・。
- 締切済み
- C・C++・C#
- ★C言語の問題です★
C言語のプログラムの問題なんですが、どなたか以下の問題の1問でも解ける方がいればご回答おねがいします! または、アドバイスだけでもいいのでよろしくお願いします。 【問題】 1 西暦1868年から2007年までの年号を入力して和暦に変更して出力するプログ ラムを作成するプログラム。 例 入力 1868 出力 明治元年 2007 平成19年 2 整数配列が-32768から32767の範囲の数しか扱えないとしたとき、10桁の整数同士 の足し算を行うプログラム。 3 3桁の整数の値を入力していき、-9999が入力されたところで、それまでに入力 された数の個数と合計を整数で、平均を浮動小数点数で出力するプログラム。 4 3つの文字列”Happy”と“New”と“Year”をつないで1つの文字列として出力する プログラム。 5 学籍番号、氏名、出席からなる10人分のデータがある。出席の悪いものから並び替 えて表示するプログラム。 例 CA180002 山田太郎 70 CA170001 山田次郎 60 データは、適当なものを使います。
- ベストアンサー
- C・C++・C#
- 困っています。どなたかこの問題の解き方を教えてください。
困っています。どなたかこの問題の解き方を教えてください。 ※かなり噛み砕いた回答をお願いします。 <正の整数の和> 2桁の正の整数のうち、3で割ると2余り、7で割ると5余る数の総和として正しいものは? 1、224 2、226 3、228 4、230 5、232 (1)7で割ると5余る正の整数の求め方(公式?) (2)3で割ると2余り、7で割ると5余る整数で最小の数 (3)(1)、(2)から答えをどう導き出すか
- 締切済み
- 数学・算数
- C++でforや再帰関数を使わずに、総当りする方法はありますか?
C++等で、forを使わず、再帰関数を使わずに多量のループで総当りする方法はありますでしょうか? 自己末尾再帰関数というのがネットで出てきますが、C言語系では使えないみたいです。 再帰関数で変数を全てスタティックにしても、関数の多重呼び出しで容量を食ってプログラムが動かないほどの計算をこなす必要があるのですが、こういった多数の桁のやり方になれておらず、先が見えません… また、全部をforにするのも、桁が大きすぎて問題があります。 どなたかご教授くださいますと幸いです。
- ベストアンサー
- C・C++・C#
お礼
ありがとうございます。
補足
これのあとに再帰呼び出しすることでプログラムはできますか??