📄 mixed.c
字号:
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <math.h>int main(void){ for (int m = 1230; m < 9876; ++m) { int m1=m / 1000; int m2=m / 100 % 10; int m3=m / 10 % 10; int m4=m % 10; if (m1*m2*m3==0) continue; int bits1=0; if((bits1 >>m1) % 2 == 0){ bits1 += 1<<m1; } else continue; if((bits1 >>m2) % 2 == 0){ bits1 += 1<<m2; } else continue; if((bits1 >>m3) % 2 == 0){ bits1 += 1<<m3; } else continue; if((bits1 >>m4) % 2 == 0){ bits1 += 1<<m4; } else continue; int n= m % 100; int n1= m3; int n2= m4; 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; int p14=p1 /10 %10; int p15=p1 %10; if (p11==0) continue; if (p12==0) continue; if (p13!=m1) continue; if (p14!=p15) continue; int bits2=bits1; if((bits2 >>p14) % 2 == 0){ bits2 += 1<<p14; } else continue; for (int p2 = 10234; p2 < 98765;++p2) { if (p2!=(m*n1)) continue; int p21=p2 /10000; int p22=p2 /1000 %10; int p23=p2 /100 %10; int p24=p2 /10 %10; int p25=p2 %10; if (p21!=m2) continue; if (p25==0) continue; int bits3=bits2; if((bits3 >>p22) % 2 == 0){ bits3 += 1<<p22; } else continue; if((bits3 >>p23) % 2 == 0){ bits3 += 1<<p23; } else continue; if((bits3 >>p24) % 2 == 0){ bits3 += 1<<p24; } else 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); } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -