18025 小明的密码
生活随笔
收集整理的這篇文章主要介紹了
18025 小明的密码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
18025?小明的密碼
時間限制:4000MS? 內存限制:65535K
提交次數:0 通過次數:0
題型: 編程題???語言: G++;GCC
Description
小明的密碼由N(1<=N<=12)個數字構成,每個數字都可以是0至9中任意一個數字,但小明的密碼還有 一個特點就是密碼中連續的M(1<=M<=4)個數字的和是質數,現給定M和N,求滿足條件的密碼共有多少 個?輸入格式
第1行是T,case數量,此后T行,每行兩個數,N和M輸出格式
每個case輸出一個滿足條件的密碼總數
輸入樣例
2 1 1 2 1
輸出樣例
4 16 #include <iostream> #include <cstdio> #include <cstdlib> #include <math.h>int X[40],A[12]; int count;void is_zhishu() {int i,k,j;X[0]=0;X[1]=0;for(i=2;i<=40;i++){k=sqrt(i);for(j=2;j<=k;j++){if(i%j==0){X[i]=0;break;}}if(j>k) X[i]=1; } }void mima(int n,int m,int cur,int sum) {int i;if(cur==n){for(i=0;i<=9;i++){if(X[sum+i]) count++;}return;}else for(i=0;i<=9;i++){if(cur<m){A[cur]=i;mima(n,m,cur+1,sum+i-A[cur-m+1]);}else{if(X[sum+i]){A[cur]=i;mima(n,m,cur+1,sum+i-A[cur-m+1]);}}} }int main() {is_zhishu();int T;scanf("%d",&T);while(T--){int n,m;count=0;scanf("%d%d",&n,&m);mima(n,m,1,0);printf("%d\n",count);}return 0; }總結
以上是生活随笔為你收集整理的18025 小明的密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站被服务器禁,又一次腾讯云服务器网站被
- 下一篇: 小明摘苹果