triangle.c

来自「People have vast background knowledge to」· C语言 代码 · 共 130 行

C
130
字号
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <math.h>int main(void){        for(int k=15;k>0;k--)        {            int bits1=0;            bits1+= 1<<k;            for (int l=15;l>0;l--)                {                    int bits2=bits1;                    if((bits2 >>l) % 2 == 0)                        {                            bits2 += 1<<l;                        }                    else                        continue;                    int g=abs(k-l);                    if((bits2 >>g) % 2 == 0)                        {                            bits2 += 1<<g;                        }                    else                        continue;                    for(int m=15;m>0;m--)                        {                            int bits3=bits2;                            if((bits3 >>m) % 2 == 0)                                {                                    bits3 += 1<<m;                                }                            else                                continue;                            int h=abs(l-m);                            if((bits3 >>h) % 2 == 0)                                {                                    bits3 += 1<<h;                                }                            else                                continue;                            int d=abs(g-h);                            if((bits3 >>d) % 2 == 0)                                {                                    bits3 += 1<<d;                                }                            else                                continue;                            for(int n=15;n>0;n--)                                {                                    int bits4=bits3;                                    if((bits4 >>n) % 2 == 0)                                        {                                            bits4 += 1<<n;                                        }                                    else                                        continue;                                    int i=abs(m-n);                                    if((bits4 >>i) % 2 == 0)                                        {                                            bits4 += 1<<i;                                        }                                    else                                        continue;                                    int e=abs(h-i);                                    if((bits4 >>e) % 2 == 0)                                        {                                            bits4 += 1<<e;                                        }                                    else                                        continue;                                    int b=abs(d-e);                                    if((bits4 >>b) % 2 == 0)                                        {                                            bits4 += 1<<b;                                        }                                    else                                        continue;                                    for(int o=15;o>0;o--)                                        {                                            int bits5=bits4;                                            if((bits5 >>o) % 2 == 0)                                                {                                                    bits5 += 1<<o;                                                }                                            else                                                continue;                                            int j=abs(n-o);                                            if((bits5 >>j) % 2 == 0)                                                {                                                    bits5 += 1<<j;                                                }                                            else                                                continue;                                            int f=abs(i-j);                                            if((bits5 >>f) % 2 == 0)                                                {                                                    bits5 += 1<<f;                                                }                                            else                                                continue;                                            int c=abs(e-f);                                            if((bits5 >>c) % 2 == 0)                                                {                                                    bits5 += 1<<c;                                                }                                            else                                                continue;                                            int a=abs(b-c);                                            if((bits5 >>a) % 2 == 0)                                                {                                                    bits5 += 1<<a;                                                }                                            else                                                continue;                                            printf("             %d\n",a);                                            printf("          %d    %d\n",b,c);                                            printf("       %d    %d    %d\n",d,e,f);                                            printf("    %d    %d    %d    %d\n",g,h,i,j);                                            printf(" %d    %d    %d    %d    %d\n",k,l,m,n,o);                                        }                                }                        }                }        }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?