当前位置:首页 » 编程语言 » 贝叶斯算法c语言代码实现
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

贝叶斯算法c语言代码实现

发布时间: 2023-05-10 21:13:34

㈠ 算法编程:用c语言实现

解决这类问题可以使用 回溯 算法,代码如下:

#include<stdio.h>
#include<stdlib.h>

#defineM6//候选数字个数
#defineN5//组合后数字位数

intcheck(intresult[],inti)
{
for(intj=0;j<N;j++)
if(result[j]==i)
return0;

return1;
}

intlist(intnumbers[],intl,intresult[],intcount)
{
if(l>=N){

//将各位数组合成一个数
intnum=0;
for(inti=0;i<N;i++){
num=num*10+numbers[result[i]];
}

//判断这个数是否能被75整除
if(num%75==0){
printf("%d ",num);
count++;
}

returncount;
}

for(inti=0;i<M;i++){

if(!check(result,i)){
continue;
}

result[l]=i;

count=list(numbers,l+1,result,count);

result[l]=-1;
}

returncount;
}

intmain()
{
intnumbers[M]={1,2,5,7,8,9};
intresult[N]={-1,-1,-1,-1,-1};

intcount=list(numbers,0,result,0);

printf("共有%d个 ",count);

system("pause");
return0;
}

运行结果: