您的位置:

c语言穷尽法,c语言贪心算法

本文目录一览:

c语言中怎么表示两个两位数相乘等于一个两位数和一个三位数相乘?限定这些数为1~9,且不重复。

这是你要的效果么

用了穷尽法代码有点复杂

#include stdio.h

#include stdlib.h

int main(void)

{

long a = 1, b = 1, c = 1, d = 1;

int aa[9] = {0}, flag = 1, i = 1, j = 1;

for(a = 10; a 100; a++)

{

for(b = 10; b 100; b++)

{

for(c = 10; c 100; c++)

{

for(d = 100; d 1000; d++)

{

if(a * b == c * d)

{

aa[0] = a / 10;

aa[1] = a % 10;

aa[2] = b / 10;

aa[3] = b % 10;

aa[4] = c / 10;

aa[5] = c % 10;

aa[6] = d / 100;

aa[7] = d % 100 / 10;

aa[8] = d % 10;

for(i = 0; i 9; i++)

{

for(j = i + 1; j 9; j++)

{

if(aa[i] == aa[j])

flag = 0;

else

continue;

}

}

if(flag)

printf("%ld * %ld = %ld * %ld\n", a, b, c, d);

else

flag = 1;

}

}

}

}

}

return 0;

}

关于百鸡问题的c++程序

这道题是明显的穷举!

#includeiostream

using namespace std;

int main()

{

int a =0;//表示公鸡数

int b =0;//表示母鸡数

int c =0;//表示小鸡数

for(a =0; a=100/5; a++)//枚举公鸡数,最大20只

{

for(b=0; b=100/3; b++)//枚举母鸡数,最大33只

{

c = 100-a-b;//求出小鸡数

if(c % 3 == 0 a*5 + b*3 + c/3 == 100)

{

//如果小鸡的数目是3的倍数,并且所有鸡总价值是100快,就输出

cout"公鸡:"a" 母鸡:"b" 小鸡:"cendl;

}

}

}

return 0;

}

你也可以枚举钱数,将只数加起来等于100的输出!

c语言 while if语句

#include stdio.h

main()

{

 int x,y,z,j=0;

 printf("following are possible plans to buy 100 fowls with 100Yuan.\n");

 for(x=0;x=20;x++)

 for(y=0;y=33;y++)

 {

  z=100-x-y;

  if(z%3==05*x+3*y+z/3==100)

   printf("%2d:cock=%2d hen=%2d chick=%2d",++j,x,y,z);

 }

}

看完如果搞不懂,可以给我留个邮箱,我有个资料,专门讲这一类问题的C编程的,我可以邮箱给你

穷举法是什么,有什么用,怎么计算?

穷举法又称列举法、枚举法,是蛮力策略的具体体现,是一种简单而直接地解决问题的方法。其基本思想是逐一列举问题所涉及的所有情形,并根据问题提出的条件检验哪些是问题的解,哪些应予排除。

穷举的作用

1、理论上,穷举可以解决可计算领域中的各种问题。尤其处在计算机计算速度非常高的今天,穷举的应用领域是非常广阔的。

2、 在实际应用中,通常要解决的问题规模不大,用穷举设计的算法其运算速度是可以接受的。此时,设计一个更高效率的算法代价不值得。

3、 穷举可作为某类问题时间性能的底限,用来衡量同样问题的更高效率的算法。

穷举怎么计算:

1、根据问题的具体情况确定穷举量(简单变量或数组);

2、根据确定的范围设置穷举循环;

3、根据问题的具体要求确定筛选约束条件;

4、设计穷举程序并运行、调试,对运行结果进行分析与讨论。 当问题所涉及数量非常大时,穷举的工作量也就相应较大,程序运行时间也就相应较长。为此,应用穷举求解时,应根据问题的具体情况分析归纳,寻找简化规律,精简穷举循环,优化穷举策略。

扩展资料:

穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。

用穷举法解题时,就是按照某种方式列举问题答案的过程。针对问题的数据类型而言,常用的列举方法一有如下三种:

(1)顺序列举 是指答案范围内的各种情况很容易与自然数对应甚至就是自然数,可以按自然数的变化顺序去列举。

(2)排列列举 有时答案的数据形式是一组数的排列,列举出所有答案所在范围内的排列,为排列列举。

(3)组合列举 当答案的数据形式为一些元素的组合时,往往需要用组合列举。组合是无序的。

参考资料:百度百科-穷举法