ここから本文です

画像は第49回情報技術検定2級のC言語の問題です。

アバター

ID非公開さん

2018/1/1522:26:41

画像は第49回情報技術検定2級のC言語の問題です。

答えを見ても、なぜそうなるのかが全くわかりません。一つずつ解説して頂けると嬉しいです...。
答えは
① 1
② a*cnt1
③ cnt2--
④ n-r
⑤ a/b
となっています。
画像見えにくかったらすみません。見えない場合はhttps://zenkoukyo.or.jp/web/content/uploads/49joho_kekka.pdf
の44ページからでも見れるので、そこからお願いします。

cnt2,cnt1,n-r,C言語,r r-1 r-2,答え,printf

閲覧数:
377
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tre********さん

2018/1/1523:00:10

#include <stdio.h>
int main(void)
{
//a=n!, b=r!*(n-r)!, combi=a/b=n!/(r!*(n-r)!)が入る事になる
int a, b, n, r, cnt1, cnt2, combi;
a = 1;
b = 1;
printf("n=");
scanf("%d",&n);
printf("r=");
scanf("%d",&r);
for (cnt1 = 2; cnt1 <= n; cnt1++) {//cnt1は 2~n まで(2,3,4...n)
a = a * cnt1;//1*2*3*...*nの答えがaに入る。これは n! に相当する。※公式の分子部分
}
for (cnt2 = r; cnt2 > 1; cnt2--) {//cnt2は r~2 まで(r,r-1,r-2,...2)
b = b * cnt2;//1*2*3*...*rの答えがbに入る。これは r! に相当する
}
//ここに来た時点でb=r!になっている
for (cnt2 = n-r; cnt2 > 1; cnt2--) {//cnt2は (n-r)~2 まで((n-r),(n-r)-1,(n-r)-2,...2)
b = b * cnt2;//r!*2*3*...*(n-r)の答えがbに入る。これは r!*(n-r)! に相当する。※公式の分母部分
}
combi = a / b;//nCr = n!/(r!*(n-r)!)
printf("%d個から%d個とる組み合わせは%d通り\n",n,r,combi);

return 0;
}

  • アバター

    質問者

    ID非公開さん

    2018/1/1523:25:44

    すみません。aとb、cnt1とcnt2が何を表しているのかすらわかっていません…。公式の!の意味もわかりません。もう少し細かく説明していただけないでしょうか

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる