📄 multiplication.c~
字号:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Description: Finds all multiplications of the form * * * * * * * x * * * * ------- * * * * * * * * * * * * * * ---------------- * * * * * * * * * in such a way that every star is replaced with a digit * * that is a prime number (2, 3, 5 or 7). * * * * Written by Suiliang Qiu(Student Id=z3267009) for COMP9021 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */#include <stdio.h>#include <stdlib.h>#include <stdbool.h>bool check_prime(int);int main(void){ for (int m = 100; m < 1000; ++m) for (int n = 10; n < 100; ++n) { int result = m * n; if (m * n >= 100000) break; int m1 = m / 100; int m2 = m / 10 % 10; int m3 = m % 10; int n1 = n / 10; int n2 = n % 10; //patial product int pp1 = m * n2; int pp2 = m * n1; if (pp1>7777&&pp2>7777&&result>77777) continue; //patial product digit int p11 = pp1 / 1000; int p12 = pp1 / 100 % 10; int p13 = pp1 / 10 % 10; int p14 = pp1 % 10; int p21 = pp2 / 1000; int p22 = pp2 / 100 % 10; int p23 = pp2 / 10 % 10; int p24 = pp2 % 10; //result digit int r1=result / 10000; int r2=result / 1000 % 10; int r3=result / 100 % 10; int r4=result / 10 % 10; int r5=result % 10; if (check_prime(m1)&&check_prime(m2)&&check_prime(m3)&&check_prime(n1)&&check_prime(n2)&&check_prime(p11)&&check_prime(p12)&&check_prime(p13)&&check_prime(p14)&&check_prime(p21)&&check_prime(p22)&&check_prime(p23)&&check_prime(p24)&&check_prime(r1)&&check_prime(r2)&&check_prime(r3)&&check_prime(r4)&&check_prime(r5)) printf("%d x %d = %d, with %d, %d as partial products, is a solution.\n", m, n, result, pp1, pp2); } return EXIT_SUCCESS;}bool check_prime(int i){ if (i == 2 || i == 3 || i == 5 || i == 7) return true; return false;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -