【算法入门】哪个大夫哪天值班

//题目: 医院有A、B、C、D、E、F、G七位大夫,在一个星期内(星期一至星期天)每人要轮流值班一天。

现已知:

A大夫比C大夫晚一天值班;

D大夫比E大夫晚两天值班;

B大夫比G大夫早三天值班;

F大夫的值班日在B和C大夫的中间,且是星期四;

请确定每天究竟是哪位大夫值班?

思路:
较简单,穷举

#include<stdio.h>


int main()
{
	int a, b, c, d, e, f, g;

	for (a=1; a<8; a++)
	{
		for (b=1; b<8; b++)
		{
			for (c=1; c<8; c++)
			{
				for (d=1; d<8; d++)
				{
					for (e=1; e<8; e++)
					{
						for (f=1; f<8; f++)
						{
							for (g=1; g<8; g++)
							{
								if((a-c)==1 && (d-e)==2 && (g-b)==3 && f>b && f<c && f==4 
									&& a!=b && a!=d && a!=e && a!=f && a!=g
									&& b!=d && b!=e && b!=f
									&& c!=d && c!=e && c!=f && c!=g
									&& d!=f && d!=g
									&& e!=f && e!=g
									&& f!=g)
									printf("%d%d%d%d%d%d%d",a,b,c,d,e,f,g);
							}
						}
					}
				}
			}
		}
	}


	/* 此处添加你自己的代码 */
	getch();
	return 0;
}

版权声明:本文为m0_47372937原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。