Алгоритми на С++
Сторінки
Головна сторінка
s
вівторок, 22 березня 2016 р.
Найбільший спільний дільник
Найбільший спільний дільник двох чисел(функція)
long long nsd (long long a,long long b)
{long long d,d1,d2,ns;
d=a; d1=b;
d2=d%d1;
while(d2!=0)
{d=d1;d1=d2;d2=d%d1;}
ns=d1;
return ns;
}
Решето Ератосфена (прості числа)
Формування масиву простих чисел від 2 до n.
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{int s,k,m,n,j,r; bool b;
cin>>n;
if( n<=200)
r=(int)(1.6*n/log(n))+1;
else
r=(int)(n/(log(n)-2))+1;
int pr[r];
pr[0]=2;pr[1]=3; j=2;m=3;
do
{m+=2;b=1;k=1;s=(int)(sqrt(m)+0.1);
while(b && pr[k]<=s)
if(m%pr[k]==0)
b=0;
else
k++;
if(b){ pr[j]=m;j++;}
}
while(m<=n-2);
int i;
for(i=0;i<j;i++) cout<<pr[i]<<" ";
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Новіші публікації
Головна сторінка
Підписатися на:
Дописи (Atom)