穷举法用C语言怎么写?

假设我确定x范围是1-26可以写出来吗?怎么写,求教,谢谢!

共有156种方案:

#include<stdio.h>

int main()

{ int a,b,c,n=0;

  for(a=1; a<27; a++)

    for(b=a+1; b<(800-30*a)/20; b++)

    { c=(800-30*a-20*b)/10;

      if(a*30+b*20+c*10==800 && b<c)

      { n++;

        printf("%2d %2d %2d\t",a,b,c);

      }

    }

    printf("\nTotal=%d\n",n);

  return 0;

}

追问

800/90这个不会,是什么意思?😂

追答

修改过了。

追问

第二个for哪行看不懂,可以解释一下不?😂

第二个for的最大值b为何这么算哩!求请教一下😂

追答

for(b=a+1; b<(800-30*a)/20; b++) //为简化起见,余钱只有800-30*a,这些钱不能全部用来买二等奖,所以就是(800-30*a)/20

追问

b最小范围我懂,最大范围不清楚为啥这样

这个x和范围可以从1到26吗?因为800/30=26.66666667这样子。第二幅图片的x取值范围是这样子算的。不知道什么时候用第一幅图x取值的这种方式,也不清楚什么时候用第二副图片的这种方式确定x的值。求大神指点迷津😂

温馨提示:内容为网友见解,仅供参考
无其他回答

穷举法用C语言怎么写?
{ int a,b,c,n=0;for(a=1; a<27; a++)for(b=a+1; b<(800-30*a)\/20; b++){ c=(800-30*a-20*b)\/10;if(a*30+b*20+c*10==800 && b<c){ n++;printf("%2d %2d %2d\\t",a,b,c);} } printf("\\nTotal=%d\\n",n);return 0;} ...

C语言 穷举法
P(29,3)=29*28*27 C(29,3)=P(29,3)\/3 include <stdio.h> include <stdlib.h> int p(int n,int m){ int s;int i;s=1;for(i=0;i<m;i++){ s=s*(n-i);} return s;} void main(){ int v;v=p(29,3);printf("P(29,3)=%d",v);printf("\\r\\n");system("pa...

穷举法 C语言编写一个程序解决一道题 急急急急急!
include <math.h> int main(){ double x,min,a;min=pow(-4.0,4)+1.0+(-5)*(-5);for(x=0.01;x<=10.0;x+=0.01){ a=pow((x-4),4)+pow((x+1),3)+(x-5)*(x-5)+x;if(a<min)min=a;} printf("min=%lf\\n",min);return 0;} \/\/运行情况:min=53.241881 请...

C语言 穷举法
void main(){ int a[100]={0};int i,j,k,m,n=0,z;printf("输入数字,每次回车为一个,以-1为结束数字\\n");for(i=0;i<100;i++){ scanf("%d",&a[i]);n++;if(a[i]==-1){ break;} } for(i=0;i<n-1;i++){ for(j=0;j<n-2-i;j++){ if(a[j]>a[j+1])...

搬砖问题(C语言编程)
\/\/穷举法,列举出每一种组合,从中找出符合条件的。include<stdio.h> void main(){ int men,women,kids,people,bricks;for(men=0;men<10;men++)for(women=0;women<13;women++)for(kids=0;kids<37;kids=kids+2){ people=men+women+kids;bricks=4*men+3*women+1*(kid\/2);if(people==36...

C语言穷举法怎么解决啊。。。
int main(void){ unsigned char age_jia,age_yi;float age_bing;for(age_jia=10;age_jia<100;age_jia++){ age_yi=(age_jia%10)*10+age_jia\/10;if(age_jia>age_yi){ age_bing=age_jia-age_yi;} else{ age_bing=age_yi-age_jia;} if(age_jia<=age_bing) continue;age_bing=(...

c语言高手进~~
我想用穷举法,偶只能想出这笨方法 if((1000*e+100*g+10*a+l)*l==(1000*l+100*a+10*g+e))终于搞定了。答案是,1089。晕~~~很久没打了 main(){ int e,g,a,l;for(e=0;e<10;e++)for(g=0;g<10;g++)for(a=0;a<10;a++)for(l=0;l<10;l++)if((1000*e+100*g+10*a...

用C语言做“换零钱问题。将一元钱换成1分,2分或5分的零钱有多少种换法...
\/\/穷举法 void main(){ int i,j,n,s=0;for(i=0;i<=20;i++) \/\/5分最多换二十个 for(j=0;j<=50;j++) \/\/2分最多换五十个 for(n=0;n<=100;n++) \/\/1分可以换一百个 if( 5*i+2*j+1*n == 100){ printf("%d %d个 , %d %d个 , %d %d个",5,i,2,j,1,...

C语言 换零钱
\/\/穷举法 void main(){ int i,j,n,s=0;for(i=0;i<=20;i++) \/\/5分最多换二十个 for(j=0;j<=50;j++) \/\/2分最多换五十个 for(n=0;n<=100;n++) \/\/1分可以换一百个 if( 5*i+2*j+1*n == 100){ printf("%d %d个 , %d %d个 , %d %d个",5,i,2,j,1,...

如何用穷举法在1—100之间找出所有的质数用C语言编程实现
代码如下:include <stdio.h>int main(){ int i, j; for(i = 2; i < 100; i ++) { for(j = 2; j < i; j ++) { if(i%j==0) break; \/\/可以整除, 退出循环。代表不是素数。 } if(j == i)\/\/没有提前退出循环,代表是素数,打印。 printf(...

相似回答