2016年3月17日 星期四

一維陣列裡面數值以數值相加等於獲得數值 (如: x+y+z=21)


Line 群組問了一個題目數字加起來要等於30。
指定數字: 1, 3, 5, 7, 9, 11, 13, 15 (數字可以重複使用)。
x + y + z = 30

有空閒時間,小寫了這段程式 解題目 :D
但是 是無解。

正確答案 : 1日 + 5hr + 1hr = 30  囧

using UnityEngine;
using System;

public class CreateFileOrFolder : MonoBehaviour {
    
    //Array input number
    int[] test = new int[] { 1,3,5,7,9,11,13,15};

    //Total value
    public int sum = 21;

    void Update()
    {
        //In three loop reading array values into the specified number three
        for (int x=0; x<test.Length; x++) {
            for (int y = 0; y < test.Length; y++) {
                for (int z = 0; z < test.Length; z++)
                {
                    Debug.Log("ok");
                    //Suppose loop 3 add value to the specified value
                    if ((test[x] + test[y] + test[z]) == sum) 
                        Debug.Log(test[x] + "+" + test[y] + "+" + test[z] + "=" + sum);
                    else {
                        Debug.Log("無解");
                        return;
                    }
                }
            }
        }
    }
}