troubleshooting Question

Help optimizing code for combination of Numbers

Avatar of Miguel Oz
Miguel OzFlag for Australia asked on
C#Visual Basic.NET
4 Comments2 Solutions360 ViewsLast Modified:
I would like your expert advice on how to optimize the following code:
        private void PrintCombinations(int total)
        {
            for (int i = 0; i <= total; i++)
            {
                for (int j = 0; j <= total; j++)
                {
                    for (int k = 0; k <= total; k++)
                    {
                        if ((i + j + k) == total)
                           Debug.WriteLine(String.Format("{0},{1},{2}", i, j, k));break;
                   }
                }
            }
        }

For example, if we call the method as PrintCombinations(6), the results should be like:
0,0,6
0,1,5
0,2,4
...
6,0,0

The code above is non optimized. For example, code do not need to loop k form 0 to 6 to get 0,1,5 and 0,2,4.
ASKER CERTIFIED SOLUTION
gt2847c
Sr. Security Consultant

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 2 Answers and 4 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 2 Answers and 4 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros