数字0到9的奇妙变幻(填表格)
2015-01-28 16:06
232 查看
/**************************************** * File Name : figure.c * Creat Data : 2015.1.28 * Author : ZY *****************************************/ /*数字0到9的奇妙变幻*/ /*填表格*/ /*将1,2,3,4,5和6填入下表中,要使的每一列右边的数字比 左边的数字大,每一行下面的数字比上面的数字大,按此要 求,可有几种填写方法? 2*3表格*/ #include <stdio.h> int main(void) { int count = 0; int a[6]; a[0] = 1; a[5] = 6; printf("The possible table satisfied above conditions are:\n"); for(a[1]= 2;a[1] < 6;a[1]++) { for(a[2] = 2;a[2] < 6;a[2]++) { for(a[3] = 2;a[3] < 6;a[3]++) { for(a[4] = 2;a[4] < 6;a[4]++) { if((a[1]!=a[2])&&(a[1]!=a[3]) &&(a[1]!=a[4])&&(a[2]!=a[3]) &&(a[2]!=a[4])&&(a[3]!=a[4]) &&(a[1]<a[2])&&(a[3]<a[4]) &&(a[1]<a[4])) { printf("No.:%d \n",++count); printf("%d%d%d\n%d%d%d\n",a[0],a[1],a[2],a[3],a[4],a[5]); } } } } } return 0; }
/*将1到9这九个数字分成三个3位数,要求第一个3位数, 正好是第二个3位数的二倍,是第三个3位数的三倍。问 应当怎么分法?*/ #include <stdio.h> int a[9]; int ok(int t,int *z)//分解t的值,将其存入z指向的三个数组元素,若满足返回1 { int *p1,*p2; for(p1 = z;p1 < z+3;p1++) { *p1 = t%10;//分解整数 t /= 10; for(p2 = a;p2 < p1;p2++)//查询分解出来的数字是否已经出现 { if(0 == *p1||*p2 == *p1)//若重复返回0 { return 0; } } } return 1;//否则返回1 } int main(void) { int m,count = 0; for(m = 123;m < 334;m++)//试探可能的三位数 { if(ok(m,a)&&ok(2*m,a+3)&&ok(3*m,a+6))//若满足题意,输出结果 { printf("No.%d:%d %d %d\n",++count,m,2*m,3*m); } } return 0; }
相关文章推荐
- 数字0到9的奇妙变幻(拉丁方)
- 数字0到9的奇妙变幻(减式还原)
- jqGrid与Struts2的结合应用(八) ------ 奇妙的subGrid子表格 .
- BZOJ4816: [Sdoi2017]数字表格
- BZOJ 4816 数字表格
- excel表格中的数字
- BZOJ2154: Crash的数字表格
- 【BZOJ 2154】Crash的数字表格 莫比乌斯反演
- 粘贴到wps表格里的数字怎么是乱码
- 洛谷P1829 - [国家集训队]Crash的数字表格
- 【BZOJ2154】Crash的数字表格 莫比乌斯反演
- Java自动计算表格某一数字列的和(2)
- HYSBZ/BZOJ 2154 Crash的数字表格
- 【BZOJ2154】Crash的数字表格(莫比乌斯反演)
- 【bzoj2154】【Crash的数字表格】【莫比乌斯反演】
- 解题报告:BZOJ_2154: Crash的数字表格 莫比乌斯反演
- [BZOJ]4816: [Sdoi2017]数字表格
- 【BZOJ4816】[Sdoi2017]数字表格 莫比乌斯反演
- Bzoj4816 [Sdoi2017]数字表格
- 2154: Crash的数字表格