Open tofu2333 opened 1 year ago
课上老师给出了作业附加题,根据我道逍遥(207176782)道友提供的思路,成功解题。
我道逍遥(207176782)
刚拿到手一看在想是不是某些字的笔画拆分,但是看到那个X U还有问号处的上下两个图案感觉就不像是,此思路失败。
X
U
将所有*号写到文本上观察,看了很久也没有思绪,这六个图案怎么看都联系不到一块。
*
根据我道逍遥道友给出的01图,茅塞顿开。其中将*号转为1,空格转为0列出这六个图案。
我道逍遥
01
1
0
第一组图案对应的01如下:
100 111 011 001 010 => 011 011 111 100
观察上面的01,第一行从左往右看,100 + 111 => 011,11相消变为0,其它项就对应相加,按照这个规律往下继续计算,可以得出第一组图案中由左边两个图案“相加”得到最右边的图案。
100
111
011
11
为了验证从第一组图案中得出的规律是否正确,用第二组图案来验证。
对应的01:
101 101 000 010 101 => 111 101 111 010
按照第一组图案得出的规律,可以验证第二组图案也适用。
既然如此,那么就可以得出本题答案了,但是发现?处的图案不是一排,那就无法从左往右看。
?
再往回看从图案中找出的规律和对应的01,能够发现任意两个“相加”都能得出第三个图案,那么只要将上下两个图案“相加”即为本题答案。
01001 00011 01010 * * 01000 10011 11011 ** ** 10011 01100 => 11111 => ***** 00010 01100 01110 *** 10100 10000 00100 *
对应C++代码:
#include <iostream> using namespace std; int main(){ cout << " * * " << endl << "** **" << endl << "*****" << endl << " *** " << endl << " * " << endl; return 0; }
课上老师给出了作业附加题,根据
我道逍遥(207176782)
道友提供的思路,成功解题。第一次尝试:
刚拿到手一看在想是不是某些字的笔画拆分,但是看到那个
X
U
还有问号处的上下两个图案感觉就不像是,此思路失败。第二次尝试:
将所有
*
号写到文本上观察,看了很久也没有思绪,这六个图案怎么看都联系不到一块。第三次尝试:
根据
我道逍遥
道友给出的01
图,茅塞顿开。其中将*
号转为1
,空格转为0
列出这六个图案。第一组图案
第一组图案对应的
01
如下:观察上面的
01
,第一行从左往右看,100
+111
=>011
,11
相消变为0
,其它项就对应相加,按照这个规律往下继续计算,可以得出第一组图案中由左边两个图案“相加”得到最右边的图案。第二组图案
为了验证从第一组图案中得出的规律是否正确,用第二组图案来验证。
对应的
01
:按照第一组图案得出的规律,可以验证第二组图案也适用。
既然如此,那么就可以得出本题答案了,但是发现
?
处的图案不是一排,那就无法从左往右看。再往回看从图案中找出的规律和对应的
01
,能够发现任意两个“相加”都能得出第三个图案,那么只要将上下两个图案“相加”即为本题答案。问号处的图案
对应C++代码: