这是分 数 的函数 在244 页的第2题

#include<cstdio>
#include<iostream>
using namespace std;
int print ();
bool b[100]={0};int a[100]={0};int n,r; int num=0;
int seach(int k)
{
 int j;
 for (j=1;j<=n;j++)
 if (!b[j])
 {
  a[k]=j;
  b[j]=true;
  if (k==r)  print();
  else seach(k+1);
  a[k]=0;b[j]=false;
  
 }
}
int main()
{
 cin>>n>>r;
 seach(1);
 cout<<num;
 return 0;
}
int print()
{

for (int i=1;i<=r;i++)
 {
  cout <<a[i]<<" ";
 }
 num++;
 cout<<endl;
}

我要去重复的数!!!

时间: 2024-10-28 22:44:48

这是分 数 的函数 在244 页的第2题的相关文章

实现按行读取文件,把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出。

/* 2 编写一个业务函数,实现按行读取文件.把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出. 函数原型有两个,任意选择其一 要求1:请自己任意选择一个接口(函数),并实现功能:70分 要求2:编写测试用例.30分 要求3:自己编写内存释放函数 */ /********************************************************************** * 版权所有 (C)2015, Wu Yingqiang. * * 文件名称:ReadFi

C语言利用va_list、va_start、va_end、va_arg宏定义可变參数的函数

在定义可变參数的函数之前,先来理解一下函数參数的传递原理: 1.函数參数是以栈这样的数据结构来存取的,在函数參数列表中,从右至左依次入栈. 2.參数的内存存放格式:參数的内存地址存放在内存的堆栈段中,在运行函数的时候,从最后一个(最右边)參数開始入栈.因此栈底高地址,栈顶低地址,举个样例说明一下: void test(int a, float b, char c); 那么,在调用test函数的时候,实參char c先进栈,然后是float b,最后才是int a,因此在内存中变量的存放次序是c-

输入6个学生成绩,找出最高分和最低分,用函数实现

/* ============================================================================ Name : max_min.c Author : duanqibo Version : Copyright : Your copyright notice Description : 输入6个学生成绩,找出最高分和最低分,用函数实现 ====================================================

python可变參数调用函数问题

一直使用python实现一些想法,近期在使用python的过程中出现这样一个需求,定义了一个函数.第一个是普通參数.第二个是默认參数,后面还有可变參数,在最初学习python的时候,都知道非keyword可变參数和keyword可变參数两种,调用的方式或许多种多样,这里主要提出一个比較隐含的问题.并将各种可能出现的情况进行了探讨. 函数声明格式 python尽管不支持函数重载,可是通过对函数參数的众多特性的支持基本弥补了. 函数声明的通式例如以下: def func(argv1,argv2...

hdu4651(广义五边形数 &amp; 分割函数)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:f(x) 为将 x 分成其他数和的形式的方案数.对于 t 组输入,输出 f(xi). 思路:直接套公式即可. 1.广义五边形数qn 为 (3*n*n-n)/2 和 (3*n*n+n)/2q1 = 1, 2 q2 = 5, 7q3 = 12, 15...2.分割函数p(n) = sigma(-1)^(i-1)p(n-qi) (qi <= n) //这里的 qi 对应前面的两个数 代码: 1

排序方法:去掉最高最低分求平均分 函数

法1 namespace 函数数组排序带出最大最小值及平均值 { class Program { static void Main(string[] args) { int[] b=new int[]{9,1,5,3,7}; int max = 0; //设置两个变量用来接收最低值与最小值. int min = 0; int ave = 0; //设变一个变量来接收平均值. int[]a= new Program().Array(b,out max,out min,out ave); for (

QQ 数——莫比乌斯函数

QQ 数(number.pas/c/cpp) [问题描述] 企鹅国数学家 `QQ` 潜心研究数论,终于发现了一个简单的数论问题! 一个 `QQ` 数定义为一个拥有一个大于 $ 1 $ 的完全平方数为因子的数字,一个数字的 `QQ` 值定义为这个数是 `QQ` 数的因数个数. 现在 `QQ` 想知道在 $[L,R]$ 范围内,每个整数的 `QQ` 值之和是多少? 你只需要告诉他这个数字,他就可以给你宝贵的 $ 10 $ 分作为一个奖励! [输入格式] 第一行两个整数 $ L, R $ 代表要求的数

设计一个判断回文数的函数

回文数:回文数也是一个数字,数字的特点是正反序是同一个数字,例如:12321,3443,56765..... 代码如下: bool JudgeIsPalindromicNumber(int num) { int arr[20] = { 0 }; int i = 0,j=0,count=0; while (num) { arr[i] = num % 10; num = num / 10; count++; i++; } for (i = 0, j = count-1; i <= j; i++, j

R语言统计字符串的字符数ncahr函数

函数计算字符数量,包括在一个字符串的空格的个数. 语法 nchar()函数的基本语法是: nchar(x) 以下是所使用的参数的说明: x - 向量输入. 示例 result <- nchar("Count the number of characters") print(result) 当我们上面的代码执行时,它产生以下结果: [1] 30