blob: a088bfc147f8e6cf66e982df2f7acbca15e85ae4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include <iostream>
#include <numeric>
#include <vector>
#include <iterator>
#include <cstdlib>
int digitsum( int n ) {
int sum = 0 ;
while ( n != 0 ) {
sum += n % 10 ;
n /= 10 ;
}
return sum ;
}
int main( ) {
std::cout << "Enter some integers, separated by blanks!\n" ;
std::cout << "Enter e to end!\n" ;
std::vector<int> numbers {std::istream_iterator<int>{std::cin} ,
std::istream_iterator<int>{}} ;
int element_sum = std::accumulate( numbers.begin( ) , numbers.end( ) ,
0 ) ;
std::vector<int> digitsums ;
for ( int i : numbers )
digitsums.push_back( digitsum( i ) ) ;
int total_digitsums = std::accumulate( digitsums.begin( ) ,
digitsums.end( ) , 0 ) ;
std::cout << std::abs( total_digitsums - element_sum) << '\n' ;
return 0 ;
}
|