C++ ban barátságos számok keresésében valaki segíteni?
Ú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?
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)
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
#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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!