日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

牛式 Prime Cryptarithm

發布時間:2025/3/15 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛式 Prime Cryptarithm 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

下面是一個乘法豎式,如果用我們給定的那n個數字來取代*,可以使式子成立的話,我們就叫這個式子牛式。

數字只能取代*,當然第一位不能為0,況且給定的數字里不包括0。

注意一下在美國的學校中教的“部分乘積”,第一部分乘積是第二個數的個位和第一個數的積,第二部分乘積是第二個數的十位和第一個數的乘積.

寫一個程序找出所有的牛式。

輸入輸出格式

輸入格式:
Line 1:數字的個數n。

Line 2:N個用空格分開的數字(每個數字都屬于{1,2,3,4,5,6,7,8,9})。

輸出格式:
共一行,一個數字。表示牛式的總數。

輸入輸出樣例

輸入樣例#1:
5
2 3 4 6 8

輸出樣例#1:
1
.
.
.
.
分析
直接暴力枚舉
.
.
.
.
.
程序:

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int ans=0,a[10];void work() {for (int i=1;i<=9;i++){if (a[i]==1)for (int j=1;j<=9;j++){if (a[j]==1)for (int k=1;k<=9;k++){if (a[k]==1)for (int l=1;l<=9;l++){if (a[l]==1)for (int o=1;o<=9;o++){if (a[o]==1){int x=(i*100+j*10+k)*o;if (x>=1000) break;if (a[x/100]==1&&a[(x%100)/10]==1&&a[x%10]==1){int y=(i*100+j*10+k)*l;if (y>=1000) break;if (a[y/100]==1&&a[(y/10)%10]==1&&a[y%10]==1){int z=y*10+x;if (z>=10000) break;if (a[z/1000]==1&&a[(z/100)%10]==1&&a[(z%100)/10]==1&&a[z%10]==1) ans++; }} }}}}}} }int main() {int n;scanf("%d",&n);memset(a,0,sizeof(a));for (int i=1;i<=n;i++){int w;scanf("%d",&w);a[w]=1;}work();printf("%d",ans);return 0; }

轉載于:https://www.cnblogs.com/YYC-0304/p/10292818.html

總結

以上是生活随笔為你收集整理的牛式 Prime Cryptarithm的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。