
January 14th, 2013, 08:07 AM
#1
Goldbach conjecture program
Hi, I'm still in the process of learning CSharp (from free internet tutorials) and I'd like to practice my skills by creating a program which recreates Goldbach's conjecture.
I know the direction I am going to take but I am stuck due to my lack of knowledge and experience.
So what I would like to know is: 'How can I make Csharp list all the numbers which when added return a value equal to the given number. For example, if I give the program, the number 8, I want it to list out '1+7, 2+6, 3+5, 4+4' and so on. Is there a property or method which can do this?
Secondly, again, is there any property or method which will check whether a number is prime or not.
I'm not asking for a complete solution, just some advice or a nudge in the right direction would be great.
Any help would be appreciated.

January 14th, 2013, 09:36 PM
#2
Re: Goldbach conjecture program
Hrm, it doesn't really sound like you are doing homework, so the best way to teach you is just to show you, I think:
Code:
static List<Tuple<int,int>> sumPairs(int target)
{
List<Tuple<int,int>> result = new List<Tuple<int, int>>();
int bottom = 1;
int top = target  1;
while( bottom <= top )
{
result.Add(new Tuple<int, int>(bottom, top));
top;
bottom++;
}
return result;
}
public static void Main(string[] args)
{
List<Tuple<int, int>> pairs = sumPairs(8);
foreach(Tuple<int, int> pair in pairs)
{
Console.Write("{0}+{1}, ", pair.Item1, pair.Item2);
}
}
(Should be substantially correct, didn't try to compile it though; might have minor syntax errors)
As for primality testing, I think you might be able to use this numerical library to do that: http://numerics.mathdotnet.com/ Not sure though. Alternatively, it's not too hard to write a subroutine to do it yourself. If you're just testing small numbers, it's enough to just check every (odd) number less than or equal to the square root of the target number and check whether the modulus (% operator) is zero.
If you want some more problems to test your mettle on, try Project Euler: https://projecteuler.net/problems. They are designed to be solved by computer programming usually. They range from extremely simple (earlier problems to extremely difficult (later problems).
Best Regards,
BioPhysEngr
http://blog.biophysengr.net

All advice is offered in good faith only. You are ultimately responsible for effects of your programs and the integrity of the machines they run on.

January 15th, 2013, 05:48 AM
#3
Re: Goldbach conjecture program
Thank you for the help. I was expecting it to be a bit less complex but I am able to make sense of it. Some minor adjustments and it will be fine. And the link to Project Euler is great, an interesting way to practice.
Posting Permissions
 You may not post new threads
 You may not post replies
 You may not post attachments
 You may not edit your posts

Forum Rules

Click Here to Expand Forum to Full Width
This a Codeguru.com survey!
