- [[2017 Section B Solutions RLE]] - [[2018 Section B Solutions Prime Numbers]] - [[2019 Section B Solution Two Words]] - [[2020 Section B Solution Numeric Digits]] - [[2021 Section B Solution Harshad]] - [[2022 Section B Solution Vowel Swapper]] - [[2023 Section B Solution Valid Strings]] - [[2024 Section B Solution Bouncy Numbers]] # Digit Sums Solution ```java public class Sample {     Sample(){         System.out.println(digitSum(123));         System.out.println(digitSum(1));         System.out.println(digitSum(456));         System.out.println(digitSum2(123));         System.out.println(digitSum2(1));         System.out.println(digitSum2(456));         int sum1to10=0;         for(int i = 0; i <1001; i++){             sum1to10 += digitSum(i);         }         System.out.println(sum1to10);     }     int digitSum(int number){         int sum = 0;         String num = Integer.toString(number);         String [] digits = num.split("");         for (String character: digits) {             sum += Integer.parseInt(character);         }         return sum;     }     int digitSum2(int number) {         int sum = 0;         while(number > 0) {             int remainder = number % 10;             number = number / 10;             sum += remainder;         }         return sum;     }     /**     * @param args the command line arguments     */     public static void main(String[] args) {         // TODO code application logic here         new Sample();     } } ``` # Hexadecimal Solution ```java import java.util.Scanner; /** * * @author aballantyne */ public class Hex {     Hex(){         Scanner scan = new Scanner(System.in);         System.out.println("Input a two digit Hex number ");         String hex = scan.nextLine();         System.out.println(HextoDenary(hex));          }     //Sam's Method     int HextoDenary(String val){         int num = 0;         String hexVals = "0123456789ABCDEF";         for (int i = 0; i < val.length(); i++) {             char c = val.charAt(i);             int d = hexVals.indexOf(c);             num = 16*num + d;         }         return num;     }      //Tom's Method     String toDenary(String hex) {     int denary = 0;     for (int i = 0; i < hex.length(); i++) {         int c = hex.charAt(i) + 0;         if (c >= 65 && c <= 70) {             c -= 55;         } else {             c -= 48;         }         denary += c * Math.pow(16, hex.length() - i - 1);     }     return denary + ""; }     /**     * @param args the command line arguments     */     public static void main(String[] args) {         new Hex();     } } ``` # Prime Factors Completed Code ```java public class NNArithmetic { 2: 3:    NNArithmetic() 4:    { 5:        printPrimeFactors(315); 6:        printPrimeFactors(98); 7:    } 8: 9:    void printPrimeFactors(int n) 10:    { 11:          for(int i = 2; i*i<=n; i++) 12:          { 13:              while(n%i == 0) 14:              { 15:                  System.out.print(i + " "); 16:                  n = n/i; 17:              } 18:          } 19:          if(n>1) System.out.print(n + "\n"); 20:          else System.out.println(""); 21:    } 22: 23:      public static void main(String[] args) 24:      { 25:        new NNArithmetic(); 26:      } 27:  } ```