Ethiopian multiplication: Difference between revisions
Content added Content deleted
Line 401: | Line 401: | ||
=={{header|C sharp|C#}}== |
=={{header|C sharp|C#}}== |
||
Loop Version: |
|||
<lang csharp>static void Main(string[] args) |
<lang csharp>static void Main(string[] args) |
||
{ |
{ |
||
Line 442: | Line 443: | ||
}</lang> |
}</lang> |
||
Recursive Version: |
|||
<lang csharp> |
<lang csharp> |
||
class Program |
class Program |
||
Line 448: | Line 449: | ||
static void Main ( string[ ] args ) |
static void Main ( string[ ] args ) |
||
{ |
{ |
||
Console.WriteLine ( |
Console.WriteLine ( "{0}{1}{2,19}", new String('-',19),Environment.NewLine,DoIt ( 17, 34 ) ); |
||
} |
} |
||
Line 465: | Line 466: | ||
public static int DoIt ( int num1, int num2 ) |
public static int DoIt ( int num1, int num2 ) |
||
{ |
{ |
||
Console.WriteLine ( "{0,8} | {1,8}", num1, num2 ); |
|||
return num1 == 1 ? num2 : DoIt ( Halve ( num1 ), Double ( num2 ) ) + (IsEven ( num1 ) ? 0 : num2 ); |
return num1 == 1 ? num2 : DoIt ( Halve ( num1 ), Double ( num2 ) ) + (IsEven ( num1 ) ? 0 : num2 ); |
||
} |
} |