📄 triangle.c~
字号:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Description: triangle.c qustion4 * * * * Written by Suiliang Qiu(Student ID=z3267009) for COMP9021 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <math.h>bool check_digit(int*,int*);int main(void){ for(int k=15;k>0;k--) { int bits_lv1=0; bits_lv1+= 1<<k; for (int l=15;l>0;l--)/*lv2*/ { int bits_lv2=bits_lv1; if(check_digit(&l,&bits_lv2)) continue; int g=abs(k-l); if(check_digit(&g,&bits_lv2)) continue; for(int m=15;m>0;m--)/*lv3*/ { int bits_lv3=bits_lv2; if(check_digit(&m,&bits_lv3)) continue; int h=abs(l-m); if(check_digit(&h,&bits_lv3)) continue; int d=abs(g-h); if(check_digit(&d,&bits_lv3)) continue; for(int n=15;n>0;n--)/*lv4*/ { int bits_lv4=bits_lv3; if(check_digit(&n,&bits_lv4)) continue; int i=abs(m-n); if(check_digit(&i,&bits_lv4)) continue; int e=abs(h-i); if(check_digit(&e,&bits_lv4)) continue; int b=abs(d-e); if(check_digit(&b,&bits_lv4)) continue; for(int o=15;o>0;o--)/*lv5*/ { int bits_lv5=bits_lv4; if(check_digit(&o,&bits_lv5)) continue; int j=abs(n-o); if(check_digit(&j,&bits_lv5)) continue; int f=abs(i-j); if(check_digit(&f,&bits_lv5)) continue; int c=abs(e-f); if(check_digit(&c,&bits_lv5)) continue; int a=abs(b-c); if(check_digit(&a,&bits_lv5)) 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); } } } } }}bool check_digit(int* x,int* digit){ if((*digit >>*x) % 2 == 0) { *digit += 1<<*x; return false; } else return true;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -