zoukankan      html  css  js  c++  java
  • 【ACM】枚举法解决"填写字符串"问题

    题目:5 5 5 5 5=5 插入4个四则运算符

    #include<stdio.h>
    int main(){
    	int j,i[5];
    	int sign,result,count=0;
    	int num[6];
    	float left,right;
    	char oper[5]={'','+','-','*','/'};
    	printf("input 5 nums");
    	
    	//输入数字到数组 
    	for(j=1;j<=5;j++)
    	{
    		scanf("%d",&num[j]);
    	}
    	printf("输入结果");
    	scanf("%d",&result); 
    	
    	
    	for(i[1]=1;i[1]<=4;i[1]++)
    	{
    		if(i[1]<4)||(num[2]!=0)
    		{
    			for(i[2]=1;i[2]<=4;i[2]++)
    			{
    				if(i[2]<4)||(num[3]!=0)
    				{
    					for(i[3]=1;i[3]<=4;i[3]++)
    					{
    						if(i[3]<4||(num[4]))
    						{
    							for(i[4]=1;i[4]<=4;i[4]++)
    							{
    								if(i[4]<4||num[5]!=0)
    								{
    									left=0;
    									right=num[1];
    									sign=1;
    									
    									//填空
    									for(j=1;j<=4;j++)
    									{
    										switch(oper[i[j]])
    										{
    											case '+':
    												left=left+sign*right;
    												sign=1;
    												right=num[j+1];
    												break;
    											
    											case '-':
    												left=left+sign*right;
    												sign=-1;
    												right=num[j+1];
    												break;
    												
    											case '*':
    												right=right*num[j+1];
    												break;
    												
    											case '/':
    												right=right/num[j+1];
    												break;
    										}
    									 } 
    									
    									if(left+sign*right==result)
    									{
    										count++;
    										printf("%3d: ",count);
    										for(j=1;j<=4;j++)
    										{
    											printf("%d%c",num[j],oper[i[j]]);
    
    										}
    										printf("%d=%d/n",num[5],result);
    									}
    									
    								}
    							}
    						}
    					}
    				}
    			}
    		}
    	}
    	
    	if(count==0) printf("no");
    	getch();
    	return 0;
    }
    
  • 相关阅读:
    梦1
    ASP.Net Web Page深入探讨
    创建ASP.NET WEB自定义控件——例程3
    自定义有模板功能的控件
    .net中Web自定义控件编写注意事项
    一个javascript脚本网站
    今天
    Konami世界一代(1)
    使用随机数
    做了一个赋值的测试
  • 原文地址:https://www.cnblogs.com/SiriusZHT/p/14310807.html
Copyright © 2011-2022 走看看