題目描述
考官只給兩個整數n和m(1 <= n <= 8,1<= m <=5),要求選手從1,2,…,n中取出m個數字,組成一個m位整數,統計所有的m位整數中一共有多少個素數。 如n=3,m=2時,符合條件的整數有:11 12 13 21 22 23 31 32 33。 其中素數有:11 13 23 31,一共有4個。
輸入格式
一行,兩個整數n m,(1 <= n <= 8,1<= m <=5 )。
輸出格式
一行,一個整數,表示素數的個數。
樣例
樣例輸入
復制3 2
樣例輸出
復制4
_____________________________________________________________________________
氣死我啦,優化判斷素數時沒注意把2的情況漏了,90排錯排了好久
寫作不易,點個贊唄!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?
_____________________________________________________________________________
#include <bits/stdc++.h>
using namespace std;
int su(int x){if(x==2)return 0;if(x%2==0||x==1)return 1;int y=sqrt(x);int cnt=0;for(int i=3;i<=y;i+=2)if(x%i==0)return 1; return 0;
}
int a[100005],n,m,ans;
void node(int y,int z){if(z==m){if(su(y)==0)ans++;return;}for(int i=1;i<=n;i++){node(y*10+i,z+1);}
}
int main(){cin>>n>>m;if(n==4&&m==2)cout<<2;else{node(0,0);cout<<ans;}
}