به توان رساندن با استفاده از جمع های متوالی

در عمل به توان رساندن، مثلا 4 به توان دو، عدد 4 در خودش ضرب می شود. اما خود عمل ضرب هم این طور است که عملوند اول به میزان عدد عملوند دوم ، جمع می شود،مثلا حاصل ضرب دو عدد 6 در 3 را می توان به صورت جمع های متوالی 6 + 6 +6 محاسبه کرد.  در متدهای زیر، به توان رساندن یکبار با  استفاده از عملگر ضرب خود #C انجام شده، و بار دیگر در تابع MyPower برای ضرب کردن از متد خودفراخوان Multiply بهره برده ایم. ر استی این ابتکار خودم هستش :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace powerRecursive
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Number 1 :\t");
            int n = Int32.Parse(Console.ReadLine());
            Console.Write("Number 2 :\t");
            int m = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Power {0} ^ {1} : {2}", m, n, Power(n, m));

            Console.WriteLine("\nMultiply {0} * {1} : {2}", m, n, multiply(n, m));

            Console.WriteLine("\nMy Power {0} ^ {1} : {2}", m, n, MyPower(n, m));
        }

        static int multiply(int a, int b)
        {
            int result = 0;

            if (b != 0)
            {
                result += a + multiply(a, b - 1);
            }

            return result;
        }

        public static int MyPower(int a, int b)
        {
            int Pow = 1;
            if (b != 0)
            {
                Pow = multiply(Pow, multiply(a, MyPower(a, b - 1)));
            }
            else
            {
                Pow = 1;
            }
            return Pow;
        }

        public static int Power(int a, int b)
        {
            int Pow = 1;
            if (b != 0)
            {
                Pow *= a * Power(a, b - 1);
            }
            else
            {
                Pow = 1;
            }
            return Pow;
        }
    }
}
Advertisements

دربارهٔ Persian Developer

I Love Developing applications

Posted on ژوئن 12, 2010, in CSharp, الگوریتم and tagged , , , , , , . Bookmark the permalink. بیان دیدگاه.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: