Kezdőoldal » Számítástechnika » Programozás » C++ ban barátságos számok...

C++ ban barátságos számok keresésében valaki segíteni?

Figyelt kérdés
Itt ülök órán és az a feladat, hogy c++ ban, írjak egy olyan programot, ami megkeresi 100000-ig a barátságos számokat, ezt hogy lehetne megvalósítani, válaszokat előre is köszönöm.

2018. jún. 22. 10:42
 1/7 anonim ***** válasza:
85%

Úgy, hogy megnyitod a fejlesztőkörnyezetet és leprogramozod.

Helyetted senki nem fogja megoldani a feladatot.


Ugye még véletlenül sem akarsz programozó lenni?

2018. jún. 22. 11:05
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
100%
Meddig jutottal magadtol?
2018. jún. 22. 11:05
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
100%

kezdjük ott, hogy mik azok a barátságos számok

fejlesztőkörnyezet megvan?

aztán tudod e az alapokat? (program felépítés, változó, ciklus, konzolba írás)

2018. jún. 22. 12:04
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
65%
Én például biztos nem.
2018. jún. 22. 13:57
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
100%
A nagy kérdés, hogy melyik része nem megy: Kitalálni, hogy hogyan határozhatod meg a barátságos számokat, vagy leprogramozni azt C++-ban?
2018. jún. 22. 15:40
Hasznos számodra ez a válasz?
 6/7 endka ***** válasza:

Létrehozol egy ciklust 1-től 100000-ig.

Minden iterációban eldöntöd,hogy baratsagos-e aszám. Ha igen kiírod

2018. jún. 24. 00:49
Hasznos számodra ez a válasz?
 7/7 anonim válasza:

#include "stdafx.h"

#include <vector>

#include <iostream>

#include <algorithm>


typedef std::pair<uint32_t, uint32_t> pair;


uint32_t acc(const uint32_t& num)

{

uint32_t sum = 1;

for (auto i = 2; i <= sqrt(num); ++i)

if (num % i == 0)

sum += num / i == i ? i : i + (num / i);

return sum;

}


int main()

{

std::vector<pair> result;

for (size_t i = 1; i < 100000; ++i)

{

const auto fhv = acc(i);

const auto fhv2 = acc(fhv);

if (i == fhv2) result.push_back({ fhv, fhv2 });

}

std::for_each(result.begin(), result.end(), [](pair p)->void {std::cout << "(" << p.first << "," << p.second << ")" << std::endl; });


std::cin.get();

return 0;

}


Gyorsan összedobtam egy megoldást, remélem segít.

2018. jún. 29. 22:19
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!