Se consideră două numere naturale nenule N
şi K
. Numim K
-şir un şir de numere naturale cu K
termeni.
Cerința
Determinaţi numărul format din ultimele 4
cifre ale numărului de K
-şiruri distincte cu proprietatea că fiecare dintre ele are cel mai mic multiplu comun al termenilor egal cu N
.
Date de intrare
Fișierul de intrare multiplu1.in
conține pe prima linie cele două numere N
şi K
separate printr-un singur spaţiu.
Date de ieșire
Fișierul de ieșire multiplu1.out
va conține pe prima linie un singur număr natural reprezentând rezultatul cerut.
Restricții și precizări
0 < N ≤ 1 000 000 000
0 < K ≤ 1 000 000 000
Exemplu
multiplu1.in
5 2
multiplu1.out
3
Explicație
Cele trei 2
-şiruri cu cel mai mic multiplu comun al termenilor egal cu 5
sunt : (1,5)
, (5,1)
şi (5,5)
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Multiplu1:
#include<cstdio>
const int N=30;
const int M=10000;
int n,k,nr,d[N];
void desc(int n)
{
for(int i=2;i*i<=n;++i)
if(n%i==0)
{
d[++nr]=0;
while(n%i==0)
{
n/=i;
++d[nr];
}
}
if(n!=1)
d[++nr]=1;
}
int pow(int a,int n)
{
int p=1;
while(n)
{
if(n&1)
p=p*a%M;
a=(a*a)%M;
n>>=1;
}
return p;
}
int calcul()
{
int p=1,t;
desc(n);
for(int i=1;i<=nr;++i)
{
t=pow(1+d[i],k)-pow(d[i],k);
if(t<0)
t+=M;
p=p*t%M;
}
return p;
}
int main()
{
freopen("multiplu1.in","r",stdin);
freopen("multiplu1.out","w",stdout);
scanf("%d%d",&n,&k);
printf("%d
",calcul());
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #746 Multiplu1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #746 Multiplu1 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!