Napisano: 16 Apr 2010 0:09
Evo mog koda,koji je prvo previse komplikovan cini mi se,drugo ne radi,izbacuje mi gresku cim malo veci broj ubacim,a i ima problem neki sa velicinom ovog "a" arraya.
Evo koda,pa mozda ako neko ima ideje. Glup sam za ovo,sta cu XD
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
long n;
int main(int argc, char *argv[])
{
cin >> n;
long a[int(sqrt(n))];
int brojprostih = 0;
for (long i=2; i<sqrt(n); i++)
{
bool prost = true;
for (long j=0; j<=brojprostih && prost; j++)
{
if (i%a[j]==0) prost = false;
}
if (prost)
{
a[brojprostih] = i;
brojprostih++;
}
}
long bnajvisedel = 0;
int najvisedel = 0;
for (int i=0; i<sqrt(n); i++)
{
int brdel = 0;
for (int j=0;j<brojprostih && j<=i/2;j++)
{
if (i%j==0) brdel++;
}
if (brdel > najvisedel)
{
najvisedel = brdel;
bnajvisedel = i;
}
}
najvisedel = (najvisedel + 1) * 2;
cout << bnajvisedel << endl;
cout << najvisedel << endl;*/
system("PAUSE");
return EXIT_SUCCESS;
}
Dopuna: 16 Apr 2010 0:10
soxxx ::Ovo ti moze pomoci: http://www.math.mtu.edu/mathlab/COURSES/holt/dnt/divis2.html
Veceras cu to da pogledam,mozda mi da neku ideju
|