← Back to topics
Topic

Z-cifre

V
Vidakovic
Zasto ovo nece da radi?

# include <iostream>
using namespace std;
int stepen(int a, int b)
{
if ( b == 0 )
return 1;
int tmp = stepen( a, b / 2 );
tmp *= tmp;
if ( b % 2 == 0 )
{
return tmp;
}
return tmp * a;
}
int n,i,s1,s2,sol,j,k,l,m;
int main ()
{
cin>>n;
sol=0;
s1=0;
s2=0;
for (i=stepen(10,n-1);i<stepen(10,n);i++)
{
for (j=1;j<=n/2;j++)
for (k=0;k<n/2;k++)
s1+=(i%stepen(10,j)) / stepen(10,j);
for (l=n/2+1;l<=n;l++)
for (m=n/2;m<=n-1;m++)
s2+=(i%stepen(10,l)) / stepen(10,m);
if (s1==s2) sol++;
}
cout<<sol<<endl;
system ("pause");
}
h
halil
Pazi, N je broj cifara, tako da funkcija 'stepen()' nema smisla. Takodje, broj rešenja je veliki , pa rezultat treba da je po modulu 10000.
V
Vidakovic
Da li bi mi neko mogao objasniti sta se trazi u ovom zadataku? Da li mi neko moze navesti makar 1 od onih 207 brojeva u probnom test primeru kod zadatka?
h
halil
1011
2012
1112
2021
1121
...
8627
...
9929
9992