📄 mixed.c~
字号:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Description: mixed.c qustion3 * * * * 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 m = 1230; m < 9876; ++m) { int m1=m / 1000;/*T*/ int m2=m / 100 % 10;/*H*/ int m3=m / 10 % 10;/*I*/ int m4=m % 10;/*S*/ if (m1*m2*m3==0) continue; int my_bits1=0; if (check_digit(&m1,&my_bits1)) continue; if (check_digit(&m2,&my_bits1)) continue; if (check_digit(&m3,&my_bits1)) continue; if (check_digit(&m4,&my_bits1)) continue; int n= m % 100; int n1= m3;/*I*/ int n2= m4;/*S*/ for (int p1 = 12300; p1 < 99877 ; ++p1) { if (p1!=(m*m4)) continue; int p11=p1 /10000; int p12=p1 /1000 %10; int p13=p1 /100 %10;/*T*/ int p14=p1 /10 %10;/*O*/ int p15=p1 %10;/*O*/ if (p11==0) continue; if (p12==0) continue; if (p13!=m1) continue; if (p14!=p15) continue; int my_bits2=my_bits1; if(check_digit(&p14,&my_bits2)) continue; for (int p2 = 10234; p2 < 98765;++p2) { if (p2!=(m*n1)) continue; int p21=p2 /10000;/*H*/ int p22=p2 /1000 %10;/*A*/ int p23=p2 /100 %10;/*R*/ int p24=p2 /10 %10;/*D*/ int p25=p2 %10; if (p21!=m2) continue; if (p25==0) continue; int my_bits3=my_bits2; if(check_digit(&p22,&my_bits3)) continue; if(check_digit(&p23,&my_bits3)) continue; if(check_digit(&p24,&my_bits3)) continue; for(int result=123456; result <987654; ++result) { if (result!=p1+(p2*10)) continue; int r1= result / 100000; int r2= result / 10000 % 10; int r3= result / 1000 % 10; int r4= result / 100 % 10; int r5= result / 10 % 10; int r6= result %10; if (r1*r2*r3*r4*r5*r6==0) continue; printf("%d x %d = %d, with %d,%d as partial products, is a solution.\n",m,n,result,p1,p2); } } } }}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 + -