public interface IOperation
int Operate(int a, int b);
public class CustomOperation : IOperation
public int Operate(int a, int b)
string result = a.ToString() + b.ToString();
return int.Parse(result);
public class AdvancedCalculator{
public int Add(int a, int b)
public int Substract (int a, int b)
public int Multiply(int a, int b)
public double Divide(int a, int b)
public static double Power_v1 (int b, int expose)
return Math.Pow(b, expose);
public static double Power_v2 (int b, int expose)
for(int i = 1; i<= expose; i++)
public double ApplyOperation(int a, int b, IOperation operation)
return operation.Operate(a,b);
public static void Main()
Console.WriteLine("Hello World");