zoukankan      html  css  js  c++  java
  • 2014蓝桥杯问题 C: 神奇算式

    没做完,先搞答题了

    #include <stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int comp(const void  *a,const void *b)
    {
    	return *(int*)a-*(int*)b;
    }
    int main()
    {
    	
    	//----part1
    	for(int i=100;i<=999;i++)
    	{
    		int a[4];
    		memset(a,0,sizeof(a[0]));
    		a[0]=i/100;
    		a[1]=i/10%10;
    		a[2]=i%10;
    		for(a[3]=0;a[3]<=9;a[3]++)
    		{								//a not equal to each other
    			if(a[0]!=a[1]&&a[0]!=a[2]&&a[0]!=a[3]&&a[1]!=a[2]&&a[1]!=a[3]&&a[2]!=a[3])
    			{
    				int sum=i*a[3];
    				if(sum>1000&&sum<9999)
    				{
    					int b[4];
    					memset(b,0,sizeof(b[0]));
    					b[0]=sum/1000;
    					b[1]=sum/100%10;
    					b[2]=sum/10%10;
    					b[3]=sum%10;		//b not equal to each other
    					if(b[0]!=b[1]&&b[0]!=b[2]&&b[0]!=b[3]&&b[1]!=b[2]&&b[1]!=b[3]&&b[2]!=b[3])
    					{
    						qsort(a,4,a[0],comp);
    					}
    				}
    			}
    		}
    	}
    	
    	
    	//--part2
    	for(;;)
    	{
    		
    	}
    }




    d

    运行无答案

    #include<stdio.h>
    int main()
    {
    	int a[8];
    	for(a[0]=1;a[0]<=4;a[0]++)
    	{
    		for(a[1]=1;a[1]<=4;a[1]++)
    		{
    			for(a[2]=1;a[2]<=4;a[2]++)
    			{
    				for(a[3]=1;a[3]<=4;a[3]++)
    				{
    					for(a[4]=1;a[4]<=4;a[4]++)
    					{
    						for(a[5]=1;a[5]<=4;a[5]++)
    						{
    							for(a[6]=1;a[6]<=4;a[6]++)
    							{
    								for(a[7]=1;a[7]<=4;a[7]++)
    								{
    									for(int i=0;i<=7;i++)
    									{											
    										int count1=0,count2=0,count3=0,count4=0;										
    										if(a[i]==1)count1++;
    										if(a[i]==2)count2++;
    										if(a[i]==3)count3++;
    										if(a[i]==4)count4++;
    											int dist1=0,dist2=0,dist3=0,dist4=0;
    										if(count1==2&&count2==2&&count3==2&&count4==2)
    										{
    											for(int j=0;j<=7;j++)
    											{
    											
    												int node11=0,node12=0;
    												int node21=0,node22=0;
    												int node31=0,node32=0;
    												int node41=0,node42=0;
    												
    												if(a[j]==1&&node11)
    												{
    													node12=j;
    													dist1=node12-node11;
    												}
    												if(a[j]==2&&node21)
    												{
    													node22=j;
    													dist2=node22-node21;
    												}
    												if(a[j]==3&&node31)
    												{
    													node32=j;
    													dist3=node32-node31;
    												}
    												if(a[j]==4&&node41)
    												{
    													node42=j;
    													dist4=node42-node41;
    												}
    												if(a[j]==1)
    												{
    													node11=j;
    												}
    												if(a[j]==2)
    												{
    													node21=j;
    												}
    												if(a[j]==3)
    												{
    													node31=j;
    												}
    												if(a[j]==4)
    												{
    													node41=j;
    												}
    											}
    											if(dist1==1&&dist2==2&&dist3==3&&dist4==4)
    											printf("%d%d%d%d%d%d%d%d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
    										}
    										else break;
    									}
    								}
    							}
    						}
    					}
    				}
    			}
    		}
    	}
    }



  • 相关阅读:
    直接插入排序
    合并排序--分治法思想
    scanf printf函数返回值
    转自CSDN,关于状态机
    关于制表符
    网上找的一篇博文,原文搞错了,应该是 ,本文已改正!——回车CR和换行line feed
    再看c语言之getchar/putchar
    使用FL2440之问题1
    Java:String、StringBuffer和StringBuilder的区别
    编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码
  • 原文地址:https://www.cnblogs.com/alfredsun/p/4467247.html
Copyright © 2011-2022 走看看