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;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}



posted @ 2015-04-10 20:24  夜歌乘年少  阅读(571)  评论(0编辑  收藏  举报