码迷,mamicode.com
首页 > 其他好文 > 详细

在n个任意不相同的数中,输出r个数的组合,并且n和r由键盘输入。

时间:2019-04-18 15:05:40      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:参数   click   i+1   ring   main   static   demo   imp   pac   

主要是运用递归的思想,函数主要两个参数,point是上一次取到的位置,picked主要记录在数组b中所取的元素的个数,函数的每一轮递归都会取一个数。

 

 1 package pack;
 2 import java.util.*;
 3 
 4 public class demo_1 {
 5     static int r,n;
 6     static int a[]=new int [100];
 7     static int b[]=new int[100];
 8     static void f(int point,int picked) {
 9         if(picked==r) {
10             for(int i=0;i<r;i++)
11             System.out.print(b[i]+" ");
12             System.out.println();
13             return ;
14         }
15         for(int i=point;i<n;i++) {
16             b[picked]=a[i];
17             f(i+1,picked +1);
18         }
19     }
20     
21     public static void main(String[] args) {    
22         Scanner in = new Scanner(System.in);
23         System.out.print("请输入N的值:");
24         n=in.nextInt();
25         System.out.println("请输入数组的"+n+"个值:");
26         for(int i=0;i<n;i++)
27             a[i]=in.nextInt();
28             
29         System.out.print("请输入R的值");
30         r=in.nextInt();
31         f(0,0);
32         
33     }
34 }

 








 

在n个任意不相同的数中,输出r个数的组合,并且n和r由键盘输入。

标签:参数   click   i+1   ring   main   static   demo   imp   pac   

原文地址:https://www.cnblogs.com/qq396986862/p/10729464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!