小程序

由8整数形成奇特的立方体

       任意给出8个整数,将这8个数分别放在一个立方体的八个顶点上,要求每个面上的四个数之和皆相等。

#include<stdio.h>

int main()
{	
	int a,a1,a2,a3,b,b1,b2,b3;
	int c[9],ii = 0,i,flag;
	
	for(i = 1;i <= 8; i++)
	{
		printf("Please enter [%d] number:",i);
		scanf("%d",&c[i]);
		ii += c[i];
	}
	printf("******************************\n");
	if(ii%2)
	{
		printf("Sorry they can't be constructed required cube!\n");
		return 0;
	}
	for(flag = 0,a = 1; a <= 8; a++)
	{
		for(a1 =1; a1 <= 8; a1++)
		{
			if(a1 != a)
			{
				for(a2 = 1; a2 <= 8; a2++)
				{
					if(a2 != a1 && a2 != a)
					{
						for(a3 =1; a3 <= 8; a3++)
						{
							if(a3 != a2 && a3 != a1 && a3 != a)
							{
								for(b = 1; b <= 8; b++)
								{
									if(b != a3 && b != a2 && b != a1 && b != a)
									{
										for(b1 = 1; b1 <= 8; b1++)
										{
											if(b1 != a3 && b1 != a2 && b1 != a1 && b1 != a && b1 != b)
											{
												for(b2 = 1; b2 <= 8; b2++)
												{
													if(b2 != a3 && b2 != a2 && b2 != a1 && b2 != a && b2 != b1 && b2 !=b)
													{
														for(b3 = 1; b3 <= 8; b3++)
														{
															if(b3 != a3 && b3 != a2 && b3 != a1 && b3 != a && b3 != b2 && b3 != b1 && b3 !=b)
															{
																if(c[b]+c[b1]+c[b2]+c[b3] == ii/2 && c[a]+c[a1]+c[b]+c[b1] == ii/2 && c[a]+c[a3]+c[b]+c[b3] == ii/2)
																{
																	flag = 1;
																	goto out;
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}

out:
	if(flag)
	{
		printf("They can be constructed required cube as follow:\n");
		printf("         %2d/----------------/%2d\n",c[a3],c[a2]);
		printf("       %2d/----------------/%2d|\n",c[a],c[a1]);
		printf("        |  |              |  |\n");
		printf("        |  |              |  |\n");
		printf("        |%2d|              |  |%2d\n",c[b3],c[b2]);
		printf("        |  /--------------|-/\n");
		printf("      %2d/-----------------/%2d\n",c[b],c[b1]);
	}
	else
	{
		printf("Sorry they can't be constructed required cube!\n");
	}
	
	return 0;
}

运行结果:

 

 

 

 

 

 

 

 

 

 

今天任务复习,看8种排序的方法

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值