"Cogito ergo sum."

"Remember, remember The fifth of November The gunpowder treason and plot. I know of no reason Why the gunpowder treason Should ever be forgot." - V for Vendetta

Friss topikok

Linkblog

Prímek eloszlása

2011.09.05. 12:05 Painkiller19910110

Az alap ötlet az volt hogy végtelen db prímszám van-e? Ez a program azt csinálja hogy bekéri egyszer azt hogy meddig menjen el, utánna bekéri hogy hány részre osszuk fel a tartományt. Végül kiírja hogy adott részre felosztott tartományba hány darab prímszám esik. Akkor lenne érdekes ha el lehetne érni hogy végtelenig menjen, mert akkor lehetne saccolni... :)

Forrás a tovább után---->>

#include <iostream>
using namespace std;
int *tomb;
void
lefoglal (int k)
{
  tomb = new int[k];
  if (tomb == NULL)
    cout << "Hiba a tömb lefoglalásánál!!!!" << endl;
  else
    cout << "Sikeresen lefoglaltam a tömböt!!!!" << endl;
}

int
osztok (int j)
{
  int i, osztok = 0;
  for (i = 1; i <= j; i++)
    {
      if ((j % i) == 0)
    osztok++;
    }
  return osztok;
}

int
main (void)
{
  int meddig, felbontas, lep;
  int mutat = 0, db = 0;
  cout << "Add meg hogy meddig vizsgálódjunk: ";
  cin >> meddig;

  cout << "Add meg hogy hány része legyen ennek az intervallumnak:";
  cin >> felbontas;

  if ((meddig % felbontas) == 0)
    {
      lep = meddig / felbontas;
      lefoglal (felbontas);
    }
  else
    {
      lep = (int) meddig / felbontas;
      lefoglal (felbontas + 1);
    }
  cout << "Tehát a lépésköz: " << lep << endl;

  for (int i = 1; i <= meddig; i++)
    {
      if ((i % lep) == 0)
    {
      tomb[mutat] = db;
      db = 0;
      mutat++;
    }
      if (osztok (i) == 2)
    {
      db++;
//cout<<i<<endl;
    }
    }
  if ((meddig % felbontas) != 0)
    tomb[mutat + 1] = db;
  if ((meddig % felbontas) != 0)
    {
      for (int i = 0; i <= felbontas; i++)
//cout<<"tömb "<<i<<" eleme: "<<tomb[i]<<endl;
    cout << tomb[i] << endl;
    }
  else
    {
      for (int i = 0; i < felbontas; i++)
    cout << tomb[i] << endl;
//cout<<"tömb "<<i<<" eleme: "<<tomb[i]<<endl;
    }
  return 0;
}

Kimenete:

Add meg hogy meddig vizsgálódjunk: 1000
Add meg hogy hány része legyen ennek az intervallumnak:10
Sikeresen lefoglaltam a tömböt!!!!
Tehát a lépésköz: 100
25                      1-100
21                      101-200
16                      ......
16
17
14
16
14
15
14
 

 

Szólj hozzá!

A bejegyzés trackback címe:

https://painkillerblogja.blog.hu/api/trackback/id/tr743203876

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása