排列、組合演算法 C語言
#include <stdio.h> #define N 12 #define M 5 int a[M]; void print(){ int i; for(i = 0; i < M; ++i) printf(" %d ",a[i]); printf("\n"); } void comb(int n, int m) { if (m == 0) { print(); return; } else { for (int i = n-1; i >= 0; --i) { a[m-1] = i+1; comb(i, m-1); } } } int main() { comb(N,M); return 0; }
排列
#include <stdio.h> #include <stdlib.h> int sum = 0; int visited[14]; int a[13]; int A, b, c, d; void dfs(int step) { if (step == 13) { //必須整除,變成乘法判斷 if (a[10] == a[11] * a[12]) sum++; return; } if (step == 10) { if (a[7] * a[8] != a[9]) return; } if (step == 7) { if (a[4] - a[5] != a[6]) return; } if (step == 4) { if (a[1] + a[2] != a[3]) return; } for (int i = 1; i <= 13; i++) { if (visited[i] == 0) { visited[i] = 1; a[step] = i; dfs(step + 1); visited[i] = 0; } } } int main() { for (int i = 0; i<13; i++) { visited[i] = 0; } dfs(1); printf("%d\n", sum); printf("%d\t%d\t%d\t%d", A, b, c, d); getchar(); return 0; }
相關推薦
排列、組合演算法 C語言
組合#include <stdio.h> #define N 12 #define M 5 int a[M]; void print(){ int i; for(i = 0; i < M; ++i) printf("
全排列和組合演算法的C#語言實現
using System; namespace Util.Comp { public class CombinationPermutation { public static void Main() { //全排列使用方法
php演算法 階乘、排列、組合
<?php /** * 階乘 */ function factorial($n) { //array_product 計算並返回陣列的乘積 //range 建立一個包含指定範圍的元素的陣列 return array_product(range(1, $n)); } /**
基於C#的排列和組合演算法
using System;using System.Collections.Generic; namespace Algorithms{ public class PermutationAndCombination<T> { /// &l
TCP 、UDP網絡編程作業代寫、代寫C 語言 TCP程序 Network Programming using C
java upper single required mission GC recommend may could TCP 、UDP網絡編程作業代寫、代寫C 語言 TCP程序Network Programming using COverview? This homework
代寫COMP20005作業、代做C/C++編程、幫寫C語言作業、代寫C/C++程序作業
mea utc requests action strength col assign ear remember The University of MelbourneSchool of Computing and Information SystemsCOMP20005
ht46ru232 串列埠接收、傳送程式 C語言
#include "HT46RU232.h"#pragma vector Uart_ISR @0x10 //串列埠中斷入口申明void Uart_init();void Uart_send(unsigned char
代寫CO4215/CO7215/CO7515作業、代做C#程式設計設計作業、代寫MySQL留學生作業、代做C#語言作業
代寫CO4215/CO7215/CO7515作業、代做C#程式設計設計作業、代寫MySQL留學生作業、代做C#語言作業Advanced Web TechnologiesCO4215/CO7215/CO7515Assignment 1University of Leicester 1 of 2Departmen
GSM A5/1演算法C語言程式碼實現和分析
介紹 全球超過200個國家和地區超過10億人正在使用GSM電話。對中國使用者來說,GSM就是移動和聯通的2g模式。 在1982年A5首次提出時,人們認為A5 / 1金鑰長度要128位,但最終確定的結果是64位金鑰(政府可以使用暴力破解算出)。很可能是政府的壓力迫使金鑰位數縮
排序演算法c語言描述---氣泡排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
排序演算法c語言描述---直接插入排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
排序演算法c語言描述---選擇排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
排序演算法c語言描述---希爾排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
排序演算法c語言描述---雙向氣泡排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
KMP演算法(C語言)
#include <stdio.h> #include <string.h> int KMP(char *t, char *p, int *next) { int a,i,j; a=0; i=0; j=0; while(i<strlen(t)
5 種排序演算法--C語言連結串列
原始碼地址 GitHub:https://github.com/GYT0313/C-DataStructure/blob/master/sortIn5.c 包括: 氣泡排序 快速排序 選擇排序 插入排序 希爾排序 執行: 注意:
SHA-1演算法C語言實現
> 程式碼轉載自:https://blog.csdn.net/testcs_dn/article/details/25771377?locationNum=13&fps=1 > 感謝博主分享 #include<stdio.h> void creat_w(uns
頁面置換演算法——最近最久未使用演算法(c語言實現)
作業系統實驗:用C語言程式設計實現最近最久未使用置換演算法(LRU) 最近最久未使用置換演算法(LRU),全稱Least Recently Used,是一種頁面置換演算法。 對於在記憶體中但又不用的資料塊(記憶體塊)叫做LRU,作業系統會根據哪些資料屬於LRU而將其移出記憶體而騰出空間來載入另外
建立雙向連結串列的演算法——C語言實現
建立雙向連結串列的演算法——C語言實現 雙向連結串列也叫雙鏈表,是連結串列的一種,它的每個節點包含兩個指標,分別指向直接後繼和直接前驅(頭節點的前驅指空,尾節點的後繼指空)。所以,從雙向連結串列中的任意一個非前驅非後繼節點開始,都能很方便地訪問它的前驅和後繼節點。 實際上如果熟練掌握了單向連
擴充套件歐幾里得演算法--C語言程式
前提 擴充套件歐幾里得演算法是在歐幾里得演算法(輾轉相除法)的前提下,對已知數求係數的一種演算法。擴充套件歐幾里得演算法的公式推導我就不廢話了,基本上就是第一次推導的係數等於第二次推導的係數之間的聯絡,很多文章都引用百度對擴充套件歐幾里得的定義,但是講的不是很