質問編集履歴

3

プログラムを変更

2021/07/31 10:30

投稿

linkinpark
linkinpark

スコア42

test CHANGED
File without changes
test CHANGED
@@ -61,6 +61,8 @@
61
61
 
62
62
 
63
63
  追記部分
64
+
65
+ c=?????この??の部分だけいじるだけで実現して頂きたいです。
64
66
 
65
67
  ```C
66
68
 

2

プログラムを追加

2021/07/31 10:30

投稿

linkinpark
linkinpark

スコア42

test CHANGED
File without changes
test CHANGED
@@ -57,3 +57,75 @@
57
57
  うまく値が出力されませんでした。どなたかわかる方がいらしたら教えて頂きたいです。
58
58
 
59
59
  よろしくお願いします。
60
+
61
+
62
+
63
+ 追記部分
64
+
65
+ ```C
66
+
67
+ コード
68
+
69
+ #include <stdio.h>
70
+
71
+ #include <stdlib.h>
72
+
73
+ #include <string.h>
74
+
75
+
76
+
77
+ long combination(int n,int k){
78
+
79
+ int i;
80
+
81
+ long c=1;
82
+
83
+ for(i=1;i<=k;i++){
84
+
85
+ c=((double)(n-k+i))/((double)(k-i+1))*(double)c;
86
+
87
+ }
88
+
89
+ return c;
90
+
91
+ }
92
+
93
+
94
+
95
+ int main(void){
96
+
97
+ int n,k;
98
+
99
+ printf("plase input n ");
100
+
101
+ scanf("%d",&n);
102
+
103
+ printf("please input k ");
104
+
105
+ scanf("%d",&k);
106
+
107
+ printf("combination(%d,%d)=%ld\n",n,k,combination(n,k));
108
+
109
+ return 0;
110
+
111
+ }
112
+
113
+ ```
114
+
115
+ 実行結果
116
+
117
+ plase input n 13
118
+
119
+ please input k 5
120
+
121
+ combination(13,5)=546
122
+
123
+
124
+
125
+ 参考までに上のコードの結果
126
+
127
+ plase input n 13
128
+
129
+ please input k 5
130
+
131
+ combination(13,5)=1287.000000

1

プログラムを変更

2021/07/31 10:23

投稿

linkinpark
linkinpark

スコア42

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  for(i=1;i<=k;i++){
20
20
 
21
- c=(n-k+i)/(k-i+1)*c;
21
+ c=(double)(n-k+i)/(double)(k-i+1)*c;
22
22
 
23
23
  }
24
24