This repository has been archived on 2024-09-24. You can view files and clone it, but cannot push or open issues or pull requests.
Schule/Mathe/befreundete Zahlen/befreundete Zahlen.cpp

46 lines
1.1 KiB
C++
Raw Normal View History

2017-04-02 16:34:45 +02:00
#include<iostream>
#include<conio.h>
#include<string>
#include<sstream>
//Zwei verschiedene nat<61>rliche Zahlen,
//von denen wechselseitig jeweils eine Zahl gleich der Summe der echten Teiler der anderen Zahl ist,
//bilden ein Paar befreundeter Zahlen.
int main()
{
std::string input;
2017-04-08 18:03:33 +02:00
unsigned int amount = 0;
2017-04-02 16:34:45 +02:00
std::cout << "Gib an bis zu welcher Zahl nach befreundeten Zahlen gesucht werden soll: ";
getline(std::cin, input);
std::stringstream(input) >> amount;
if(amount<284)
{
std::cout << "\nEs wurden keine befreundeten Zahlen gefunden.";
getch();
return(0);
}
std::cout << "\nBefreundete Zahlen sind:\n";
amount -= 219;
2017-04-10 16:31:10 +02:00
unsigned int *number = new unsigned int[amount];
2017-04-02 16:34:45 +02:00
for(unsigned long long idx = 0; idx<amount; idx++)
{
number[idx] = 0;
for(unsigned long long factor = 1; factor*2<=idx+220; factor++) if((idx+220)%factor==0) number[idx] += factor;
if(number[idx]<idx+220 && number[idx]>=220 && number[number[idx]-220]==idx+220) std::cout << number[idx] << " und " << number[number[idx]-220] << "\n";
}
2017-04-10 16:31:10 +02:00
delete[] number;
2017-04-02 16:34:45 +02:00
getch();
return(0);
}