#include #include #include #include #include #include #include #include int sums_main(int argc, char** argv) { int n{}; if (argc >= 2) { n = std::atoi(argv[1]); } else { std::cin >> n; } int sum{}; for (int i = 1; i <= n / 2; ++i) { if (n % i == 0) { sum += i; std::cout << " " << std::setw(3) << std::right << i << '\n'; } } std::cout << "---\n= " << sum << '\n'; if (n == sum) { std::cout << n << " is perfect\n"; } else if (n < sum) { } return 0; } std::ostream& repeat(std::ostream& os, char ch, int count) { for (int i{}; i < count; ++i) { os << ch; } return os; } int triangles_main(int argc, char** argv) { int n{}; if (argc >= 2) { n = std::atoi(argv[1]); } else { std::cin >> n; } std::string fills = " * *"; if (argc >= 3) { fills = argv[2]; } #if 0 { int z = 1; for (int i = 0; i < n / 2; i++) { for (int j = n / 2; j > i; j--) { std::cout << " "; } std::cout << "*"; if (i != 0) { for (int k = 1; k <= z; k++) { std::cout << " "; } std::cout << "*"; z += 2; } std::cout << std::endl; } for (int i = 0; i < n; i++) { std::cout << '*'; } std::cout << '\n'; } #endif for (int pre = (n - 1) / 2, mid = -(n % 2); pre; --pre, mid += 2) { repeat(std::cout, fills[0], pre) << fills[1]; if (mid >= 0) { repeat(std::cout, fills[2], mid) << fills[1]; } repeat(std::cout, fills[0], pre) << '\n'; } std::cout << fills[1]; repeat(std::cout, fills[3], n - 2) << fills[1] << '\n'; return 0; } int name_main(int, char**) { std::string name; do { std::cout << "Please enter the name for the account: "; getline(std::cin, name); bool valid_name = not name.empty(); for (std::size_t i = 0; i < name.length(); i++) { if (name[i] != ' ' and not isalpha(name[i])) { std::cout << "Invalid name - please only use letters and spaces!\n"; valid_name = false; break; } } if (valid_name) { name[0] = toupper(name[0]); std::cout << "Name for the account is: " << std::quoted(name) << '\n'; } } while (std::cin); return 0; } int primes_main1(int, char**) { long long sum = 0; for (int n = 3; n < 200; n += 2) { for (int d = 3; d < std::sqrt(n) + 1; d += 2) { if (n % d == 0) { // Python "break" goto skip; } } // Python "else" { sum += n; } skip:; } std::cout << sum << '\n'; return 0; } int primes_main(int, char**) { long long sum = 0; for (int n = 3; n < 200; n += 2) { [&] { for (int d = 3; d < std::sqrt(n) + 1; d += 2) { if (n % d == 0) { return; } } sum += n; }(); } std::cout << sum << '\n'; return 0; } namespace { class Class { int a; }; } // namespace const std::type_info& mangle2() { return typeid(Class); }