排列组合问题
2018-03-31 11:34
246 查看
排列组合A(n,m)
A(n,m);n>=m
测试样例:
输入:6
3
输出:
123 124 125 126 132 134 135 136 142 143
145 146 152 153 154 156 162 163 164 165
213 214 215 216 231 234 235 236 241 243
245 246 251 253 254 256 261 263 264 265
312 314 315 316 321 324 325 326 341 342
345 346 351 352 354 356 361 362 364 365
412 413 415 416 421 423 425 426 431 432
435 436 451 452 453 456 461 462 463 465
512 513 514 516 521 523 524 526 531 532
534 536 541 542 543 546 561 562 563 564
612 613 614 615 621 623 624 625 631 632
634 635 641 642 643 645 651 652 653 654
120
代码如下:
#include <stdio.h> int m,n,a[30]; long s=0; int main(){ int p(int k); //输入A(n,m)的值 n>=m scanf("%d",&n); scanf("%d",&m); p(1); printf("\n"); printf("%ld",s); return 0; } int p(int k) { int i,j,u; if(k<=m) { for(i=1;i<=n;i++) { a[k]=i; for(u=0,j=1;j<=k-1;j++){ if(a[k]==a[j]) u=1; } if(u==0){ if(k==m){ s++; printf(" "); for(j=1;j<=m;j++) printf("%d",a[j]); if(s%10==0) printf("\n"); }else{ p(k+1); } } } } return s; } /*效率有点慢,A(11,10) 需要八秒*/
相关文章推荐
- java数组排列组合问题汇总
- 如何用itertools解决无序排列组合的问题
- 面试100题系列之5字符串的排列组合问题
- 全排列问题 与 组合排列问题
- leetcode 357. Count Numbers with Unique Digits 统计独特编码数组的数量 + 一个很简单的排列组合问题
- 常见的排列组合问题
- 字符串的全排列和所有组合问题
- noip 1995 灯的排列问题 排列组合 DFS
- 全排列和组合问题
- iOS 借助排列组合求赛事投注的注数问题。
- 排列组合问题初步
- 排列组合问题系列
- c语言实现排列组合算法问题
- 海涛老师的面试题-作业28-字符串的排列组合问题。
- 【周练3016.3.5】QAQ的问题(排列与组合,好题)
- 解题笔记(21)——字符串的排列组合问题
- 排列组合,子集生成问题,与nyoj 组合数
- 递归解决问题的几种类型的排列(二、完整的组合安排)
- 字符串的排列组合问题
- 字符串排列和组合的问题