相信这道奥数题,小时候难倒很多人,现在程序一秒告诉你答案

             a                                           a~f是6个从1~6的数字,现在想要三角形的三边相等,有多           b           c                                     少种方法呢?                                                                             d        e         f

#include<stdio.h>//头文件 
int main()//主函数 
{
	int a,b,c,d,e,f,count1=0;//加了这个count1是为了方便计数,也可以不加 
	for(a=1;a<=6;a++)
	{
		for(b=1;b<=6;b++)
			for(c=1;c<=6;c++)
				for(d=1;d<=6;d++)
					for(e=1;e<=6;e++)
						for(f=1;f<=6;f++)//进行6次嵌套 
						{
							if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f
									&&b!=c&&b!=d&&b!=e&&b!=f
										&&c!=d&&c!=e&&c!=f
											&&d!=e&&d!=f
												&&e!=f)//由于是1~6组成这6个字母不能相等 
							{
								if(a+b+d==a+c+f&&a+b+d==d+e+f)//在C语言中不存在连等情况必须用&&连接 
								{
									printf("  %d\n",a);
									printf(" %d %d\n",b,c);
									printf("%d %d %d\n",d,e,f);
									count1=1+count1;//通过循环可以计算一共有多少种类 
								}
							}
						}
	}
 	printf("一共有%d种\n",count1);
	return 0;
 } 

上一篇:第二章 用C语言编写程序


下一篇:cut 命令