C++红旗之更短形式:500多字符且无法遵守原题规则

Purpose and Scope

研究五星红旗C++代码生成问题的代码压缩方法。没有最短,只有更短. 已经尽力了。爱因斯坦的三个小板凳里,我这是第四个。 继续深入压缩代码的方法肯定很诡异了。

Algorithms and Experiments

参考了: ,:

list=,,-Pi]/2/Pi)]!=0)];Export[“testWindingy.gif”,Flatten@{list,Reverse@(Rest@list)}]

输出这样的图片为了好看:

The Latest C++ CodeGR(int,int);unsigned char BL(int,int);#define F floatF e=1.e-7,p=3.14;unsigned char RD(int i,int j){;}bool Q(int i,int j,int* x){F t[5],o;Et[k]=at((F)(x[k]-i),(F)(x[k+5]-j));}F tl=0.;Eo=t[(k+1)%5]-t[k];o+=o<-p?p:o>p?-p:0;tl+=o;}return abs(tl)>.5;};unsigned char GR(int i,int j){// YOUR CODE HEREint q[10]={100, 135, 43, 157, 65, 40, 149, 81, 81, 149},r[10]={184, 220, 183, 207, 205, 168, 181, 191, 161, 199},s[10]={183, 208, 204, 185, 220, 50, 22, 59, 27, 42},t[10]={221, 259, 229, 239, 252, 135, 133, 157, 120, 156},u[10]={220, 254, 237, 231, 258,83, 66, 100, 62, 89};return Q(i,j,q)||Q(i,j,r)||Q(i,j,s)||Q(i,j,t)||Q(i,j,u)?255:0;}unsigned char BL(int i,int j){;}void pixel_write(int,int);FILE *fp;int main(){fp = fopen(“MathPic.ppm”,”wb”);fprintf(fp, “P6\n%d %d\n255\n”, DIM1, DIM2);for(int j=0;j<DIM2;j++)for(int i=0;i<DIM1;i++)pixel_write(i,j);fclose(fp);system(“pause”);return 0;}void pixel_write(int i, int j){color[3];color[0] = RD(i,j)&255;color[1] = GR(i,j)&255;color[2] = BL(i,j)&255;fwrite(color, 1, 3, fp);}Brief Summary优点,代码已经进一步压缩到500多字符,大大缩短;缺点,没有严格在特定地方写代码,,为满足140×3段字符的要求。

输出虽然近似,也是正常的红旗:

从这里容易看出,Vietnam的flag就很容易画,只有一个五角星!

可是美帝的星条旗,据说50个州“每周一星”,难度似乎应该更高? 优点是它的50星只有相对平移木有相对旋转,或者也容易?

.

【宽:A=1.0;长:B=1.9,C=0.5385(7/13,7条间纹的阔度)D=0.76(1.9×2/5,B的2/5)E=F=0.0538(C/10)G=H=0.0633(D/12)星的直径:K=0.0616条纹的宽度:L=0.0769(1/13)】

有一些喷着香水闻不到的空气,有一些在写字楼里永远遇不见的人。

C++红旗之更短形式:500多字符且无法遵守原题规则

相关文章:

你感兴趣的文章:

标签云: