File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed
src/algorithms/different_addends Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change 1+ package algorithms .different_addends ;
2+
3+ import java .util .LinkedList ;
4+ import java .util .Scanner ;
5+
6+ public class Main {
7+ public static void main (String [] args ) {
8+ Scanner scanner = new Scanner (System .in );
9+ int number = scanner .nextInt ();
10+ int addendsNumber = 1 ;
11+ int sum = 1 ;
12+ int currentAddend = 1 ;
13+ if (number == 2 ) {
14+ sum = 2 ;
15+ currentAddend = 2 ;
16+ }
17+ LinkedList <Integer > addendsList = new LinkedList <>();
18+ addendsList .push (currentAddend );
19+ while (sum != number ) {
20+ currentAddend ++;
21+ int remainder = number - sum - currentAddend ;
22+ if (remainder < currentAddend + 1 && remainder != 0 ) {
23+ continue ;
24+ }
25+ sum += currentAddend ;
26+ addendsList .push (currentAddend );
27+ addendsNumber ++;
28+ }
29+ StringBuilder outputBuilder = new StringBuilder ();
30+ outputBuilder .append (String .format ("%d\n " , addendsNumber ));
31+ for (Integer addend : addendsList ) {
32+ outputBuilder .append (String .format ("%d " , addend ));
33+ }
34+ System .out .println (outputBuilder .toString ());
35+ }
36+ }
You can’t perform that action at this time.
0 commit comments