Monday, 28 May 2012

Composite number formula

I've been working on some stuff about prime quadruplets. For reasons too dull to explain just now I started by looking for a formula that always generates composite numbers. At some point when I get the chance I'll explain this a bit more, but after a bit of thought I came up with this:

2x -1+4y(x+y) for all positive integer values of x and y.

It does work, which is nice - it generates all the odd composites (which is all you need since all evens are composite except 2.

More later.

Edit: Obviously a formula like xy where x and y are positive integers > 1 is  a great deal simpler, but for various reasons I wanted one for which you didn't need to exclude 1.

4 comments:

  1. I propose the following formula of composite numbers, except divisible by 2 and 3:
    Positive integers contained in two 2-dimensional arrays: P1(i,j)=6i^2-1+(6i-1)(j-1) and P2(i,j)=6i^2-1+(6i+1)(j-1) are indexes p of all composite numbers in the sequence S1(p)=6p+5, p=0,1,2,...
    Positive integers contained in two 2-dimensional arrays: P3(i,j)=6i^2-1-2i+(6i-1)(j-1) and P4(i,j)=6i^2-1+2i+(6i+1)(j-1) are indexes p of all composite numbers in the sequence S2(p)=6p+7, p=0,1,2,...i,j-1,2,3,...

    http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=13752&lngWId=3
    Boris Sklyar, brs.sklr@mail.ru

    ReplyDelete
  2. If formula for composite numbers
    4*i*i-1+2*j*(2*i+1)
    is correct and include ALL composite numbers 9, 15, 21, 25, 27, 33, 35,...
    than algorithm for finding prime numbers will be as follows.
    Positive integers not contained in 2-dimensional array
    4i^2-1+2j(2i+1)
    (except divisible by 2) are all prime numbers.
    And C++ program can be:
    #include
    #include
    #include
    using namespace std;
    main( )
    {
    int i, j, j1,j2, K, k;
    int i2=180;j2=190; k=140000;int q=2*k+1;
    int R[q];
    for (k=1;k<1100;k++)
    { int q=2*k+1;

    R[q]=q;}
    cout<<" \n";
    for (i=1; i<i2;i++)
    {for (j=1; j<j2;j++)
    {K=4*i*i-1+2*j*(2*i+1);
    R[K]=0;
    }}
    for (k=1;k<500;k++)
    {q=2*k+1;
    if (R[q]%5==0) continue;
    cout<<" "<<R[q]<<" ";}
    system("PAUSE");
    return EXIT_SUCCESS;
    }

    ReplyDelete
  3. #include
    #include
    #include
    using namespace std;
    main( )
    {
    int i, j, j1,j2, K, k;
    int i2=180;j2=190; k=140000;int q=2*k+1;
    int R[q];
    for (k=1;k<1100;k++)
    { int q=2*k+1;

    R[q]=q;}
    cout<<" \n";
    for (i=1; i<i2;i++)
    {for (j=1; j<j2;j++)
    {K=4*i*i-1+2*j*(2*i+1);
    R[K]=0;
    }}
    for (k=1;k<500;k++)
    {q=2*k+1;
    if (R[q]%5==0) continue;
    cout<<" "<<R[q]<<" ";}
    system("PAUSE");
    return EXIT_SUCCESS;
    }

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete