原創:神奇算式 - 藍橋杯
摘要:本題是2023年第五屆藍橋杯全國軟體大賽預賽a組第3題。
由4個不同的數字,組成的乙個乘法算式,它們的乘積仍然由這4個數字組成。
比如:
都符合要求。210 x 6 = 1260
8 x 473 = 3784
27 x 81 = 2187
如果滿足乘法交換律的算式算作同一種情況,那麼,包含上邊已列出的3種情況,一共有多少種滿足要求的算式。
請填寫該數字,通過瀏覽器提交答案,不要填寫多餘內容(例如:列出所有算式)。
這個問題的思路也是列舉法,列舉物件分別為積和那個較小的乘數。
還有兩個限制條件:
這些限制條件是使用乙個標記陣列實現的。
#include #include using namespace std;int vis[10];
int bk[10];
int check(int x, int y)
vis[x % 10]--;
} while(x /= 10);
do vis[y % 10]--;
} while(y /= 10);
return 1;
}int check4(int x)
vis[x % 10]++;
} while(x /= 10);
return 1;
}int main(void)
memcpy(bk, vis, sizeof(bk));
for(int j = 1; j <= 98; j++)
int k = i / j;
if(j > k)
if(!check(j, k))
cout << j << " * " << k << " = " << i << endl;
cnt++;}}
cout << cnt << endl;
}
(全文完)6 * 201 = 1206
6 * 210 = 1260
21 * 60 = 1260
15 * 93 = 1395
35 * 41 = 1435
3 * 501 = 1503
3 * 510 = 1530
30 * 51 = 1530
21 * 87 = 1827
27 * 81 = 2187
9 * 351 = 3159
8 * 473 = 3784
藍橋杯 神奇算式
由4個不同的數字,組成的乙個乘法算式,它們的乘積仍然由這4個數字組成。比如 6 x 210 1260 8 x 473 3784 27 x 81 2187 都符合要求。如果滿足乘法交換律的算式算作同一種情況,那麼,包含上邊已列出的3種情況,請輸出剩餘的滿足要求的算式且按照第乙個因數從小到大排列,第乙個...
藍橋杯 2014 神奇算式
由4個不同的數字,組成的乙個乘法算式,它們的乘積仍然由這4個數字組成。比如 210 x 6 1260 8 x 473 3784 27 x 81 2187 都符合要求。如果滿足乘法交換律的算式算作同一種情況,那麼,包含上邊已列出的3種情況,一共有多少種滿足要求的算式。請填寫該數字,通過瀏覽器提交答案,...
藍橋杯 神奇算式(C )
由4個不同的數字,組成的乙個乘法算式,它們的乘積仍然由這4個數字組成。比如 210 x 6 1260 8 x 473 3784 27 x 81 2187 都符合要求。如果滿足乘法交換律的算式算作同一種情況,那麼,包含上邊已列出的3種情況,一共有多少種滿足要求的算式。直接暴力然後再驗證。等式分兩位數相...