Chmod Math

11 Answers   Challenge Your Friends Challenge Your Friends   Tweet this

From Julio Sepia:

Write the number 755 as the sum of five consecutive odd numbers.

Puzzle Category: Math

11 Responses on “Chmod Math”

  1. Steven says:

    This is the type of stuff that Linq excels in.
    Quick and dirty version:
    var eval = from i in Enumerable.Range(0, 1000)
    where i % 2 != 0
    let cs = Enumerable.Range(i, 5 * 2).Where(j => j % 2 != 0)
    let sum = cs.Sum()
    select new { Sum = sum, Numbers = cs};

    var result = eval.First(i => i.Sum == 755);
    Console.WriteLine(string.Join(” + “, result.Numbers) + ” = ” + result.Sum);

    Prints:
    147 + 149 + 151 + 153 + 155 = 755

  2. (x)+(x+2)+(x+4)+(x+6)+(x+8)=755
    5*x+20=755
    5*x=735
    x=147

    755 = 147 + 149 + 151 + 153 + 155

  3. Steven says:

    Less Stupid version:
    static IEnumerable ConsecutiveOdds(int target, int noConsecutives)
    {
    var midPoint = target / (double)noConsecutives;
    var start = (int)(midPoint – Math.Floor(noConsecutives / 2.0) * 2);
    return Enumerable.Range(start, noConsecutives * 2).Where(i => i % 2 == 0);
    }

    :-)

  4. R G says:

    >>> 755/5
    151
    >>> 147+149+151+153+155

    :)

  5. Chris Pickett says:

    number = 755
    number_of_odds = 5
    mid = number / number_of_odds

    odd_numbers = [x for x in xrange(mid-4,mid+5) if x % 2 != 0]
    mid_index = odd_numbers.index(mid)
    print “%d + %d + %d + %d + %d = %d” % \
    (odd_numbers[mid_index-2],odd_numbers[mid_index-1],odd_numbers[mid_index],
    odd_numbers[mid_index+1],odd_numbers[mid_index+2],number)

    prints:

    147 + 149 + 151 + 153 + 155 = 755

  6. Harold says:

    Came to post R G’s solution.

  7. Julien says:

    idiomatic java version :
    ——————————-
    import junit.framework.TestCase;

    public class ChmodMath extends TestCase{

    public int[] consecutiveOdd(int target,int numberOfConsecutives){
    for(int i = 0; i < target; i++){
    if(i % 2 != 0){
    int sum = 0;
    int[] consecutiveOff = new int[numberOfConsecutives];
    for(int j=i, index=0;j< i+(numberOfConsecutives*2); j+=2, index++){
    consecutiveOff[index] = j;
    sum += j;
    }
    if(sum == target){
    return consecutiveOff;
    }
    }
    }
    return null;
    }
    public void testConsecutiveOdd() throws Exception {
    int[] odds = consecutiveOdd(755, 5);
    int total = 0;
    for(int odd : odds){
    System.out.println(odd);
    total += odd;
    }
    assertEquals(755, total);
    }
    }
    ————————

  8. Bill says:

    Agree with R G.

  9. GregS says:

    Yup, also came to post R.G.’s solution.

  10. It¡¦s in point of fact a nice and useful piece of info. I am glad that you shared this helpful information with us. Please keep us up to date like this. Thank you for sharing.

  11. IamNotARockstar says:

    public class puzzle755 {

    public int siguienteNumeroImpar(int actual){

    int respuesta=0;

    if ((actual % 2) == 0){

    actual++;

    }

    System.out.println(“actual : ” + actual);

    return actual;

    }

    public boolean calculando(){

    int suma = 0,digito1,digito2,digito3,digito4,digito5 =0;

    for (int i=0; suma <= 756; i++){

    digito1= this.siguienteNumeroImpar(i +1);
    digito2 =this.siguienteNumeroImpar(digito1+1);
    digito3 =this.siguienteNumeroImpar(digito2+1);
    digito4 =this.siguienteNumeroImpar(digito3+1);
    digito5 =this.siguienteNumeroImpar(digito4+1);

    suma =digito1 + digito2 +digito3+digito4+digito5;

    System.out.println("suma : " +suma);
    if (suma== 755){

    System.out.println("r : " + digito1);
    System.out.println("r : " + digito2);
    System.out.println("r : " + digito3);
    System.out.println("r : " + digito4);
    System.out.println("r : " + digito5);

    }

    i ++;

    }

    return true;
    }

    public static void main(String args []){

    System.out.println(new puzzle755().calculando());

    }
    }

Leave a Reply