consolidate all repos to one for archive
This commit is contained in:
25
semester_2/programiranje_2/naloga0101/README.md
Normal file
25
semester_2/programiranje_2/naloga0101/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
Napisali boste program, ki bo omogočal vnos poljubnega števila. Program bo moral izračunati vsoto vseh cifer v podanem številu in preveriti ali je vsota popolno število.
|
||||
|
||||
Kaj je popolno število? Popolno število je v matematiki pozitivno celo število n, za katerega je vsota pozitivnih pravih deliteljev enaka številu n. Več o popolnem številu.
|
||||
https://en.wikipedia.org/wiki/Perfect_number
|
||||
Zahteve programa:
|
||||
|
||||
Napišite program, ki od uporabnika zahteva število tako dolgo, dokler podano število ni pozitivno ( uporabite do while zanko).
|
||||
|
||||
Izračunajte in izpišite vsoto cifer v podanem številu.
|
||||
|
||||
Na koncu preverite in izpišite ali je vsota števil popolno število.
|
||||
|
||||
Primer programa:
|
||||
|
||||
> Vnesite stevilo:-50
|
||||
> Vnesite stevilo:-29
|
||||
> Vnesite stevilo:10325
|
||||
> Vsota cifer v stevilu je 11
|
||||
> Stevilo 11 ni popolno stevilo
|
||||
|
||||
Kako preverimo ali je število popolno?
|
||||
|
||||
Primer 1: Število 11 ni popolno, ker je njeni edini pravi delitelj 1. Vsota je torej 1, kar ni enako številu samemu.
|
||||
|
||||
Primer 2: Število 28 je popolno, ker so njeni pravi delitelji 1, 2, 4, 7, 14. Vsota številj je 28, kar je enako številu samemu.
|
43
semester_2/programiranje_2/naloga0101/naloga0101.cpp
Normal file
43
semester_2/programiranje_2/naloga0101/naloga0101.cpp
Normal file
@@ -0,0 +1,43 @@
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int add(int number) {
|
||||
int sum = 0;
|
||||
while (number > 0) {
|
||||
sum = sum + number % 10;
|
||||
number = number / 10;
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
void perfect_number(int number) {
|
||||
int sum = 0;
|
||||
for (int i = 1; i < number; i++) {
|
||||
if (number % i == 0) {
|
||||
sum = sum + i;
|
||||
}
|
||||
}
|
||||
if (sum == number) {
|
||||
cout << number << " is a perfect number";
|
||||
} else {
|
||||
cout << number << " is not a perfect number";
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
int input_number;
|
||||
for (;;) {
|
||||
cout << "Input number: ";
|
||||
cin >> input_number;
|
||||
if (input_number > 0) break;
|
||||
}
|
||||
|
||||
int sum = add(input_number);
|
||||
cout << "Sum is " << sum << endl;
|
||||
perfect_number(sum);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// namesto while use for
|
Reference in New Issue
Block a user