Pagini recente » Cod sursa (job #1774928) | Cod sursa (job #2240868) | Cod sursa (job #381057) | Cod sursa (job #1379989) | Cod sursa (job #2034133)
#include<fstream>
#include<vector>
#include <algorithm>
using namespace std;
ifstream f("ratphu.in");
ofstream g("ratphu.out");
struct q{
int val,ord;
}v[21];
vector<int> a;
unsigned long long n,i,x,m,j,ok,p,s=0;
void afis(int & sol)
{
unsigned long long i,nr=0;
for (i=0;i<ok;i++)
nr=v[a[i]].val+nr*10;
if(nr%p==0)
sol++;
}
int main()
{
int sol=0;
f>>n>>p;
while(n!=0)
{
x=n%10;
ok++;
s=s+x;
v[ok].val=x;
v[ok].ord=ok;
a.push_back(ok);
n/=10;
}
if(p==0)
{
g<<0;
return 0;
}
if(p%3==0&&s%3!=0)
{
g<<0;
return 0;
}
do afis(sol); while (next_permutation(a.begin(),a.end()));
g<<sol;
return 0;
}