#include <gmp.h>
#include <iostream>
using namespace std;
int main()
{
mpz_t p, s;
unsigned long a;
mpz_init_set_ui(p, 1);
mpz_init_set_ui(s, 0);
for (int i = 0; i < 6; i++)
{
cin >> a;
mpz_mul_ui(p, p, a);
mpz_add_ui(s, s, a);
}
mpz_sub(s, s, p);
cout << "Sum - Product = " <<
mpz_get_str(NULL, 10, s) << endl;
cin.get(); cin.get(); return 0;
}
Это было для натуральных чисел от 1 до 2³²-1 включительно. Их сумма и произведение могут не вписаться в стандартные целые типы. А это для чисел типа double тоже с вводом шести чисел с экрана:
#include <iostream>
int main() { double a; long double s = 0, p = 1;
for (int i = 0; i < 6; i++) { std::cin >> a; s += a;
p *= a; } std::cout << "Sum - Product = " <<
s - p << std::endl; }