Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2008, 19:57   #1
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию C# - корень 3 степени

вот кусок кода, он должен извлч корень третей степени из введенного числа k
проблема в том, что при любом значении k корень равен 1
в чём проблема, вроде всё верно написано

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("k=");
            double k = Convert.ToDouble(Console.ReadLine());
            k = Math.Pow(k, 1 / 3);
            Console.WriteLine(k);
        }
    }
}
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 26.09.2008, 20:56   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Напишите так:

k = Math.Pow(k, 1.0/3);
alexBlack вне форума Ответить с цитированием
Старый 26.09.2008, 21:28   #3
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

работает
а почему так?
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 26.09.2008, 21:47   #4
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Потому что константа (1) целого типа, а 1.0 - double:
Код:
            Console.WriteLine(1.GetType());             // System.Int32
            Console.WriteLine((1.0).GetType());         // System.Double
            Console.WriteLine((1/3).GetType());         // System.Int32
            Console.WriteLine(1 / 3);                   // 0
            Console.WriteLine((1.0 / 3).GetType());     // System.Double
            Console.WriteLine(1.0 / 3);                 // 0.33
            Console.WriteLine(1f / 3);                  // 0.33
alexBlack вне форума Ответить с цитированием
Старый 26.09.2008, 21:53   #5
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

ясно, спасибо
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
корень кубический Небесный Общие вопросы Delphi 6 30.05.2010 12:50
Число в степени vItal87ka Паскаль, Turbo Pascal, PascalABC.NET 12 12.01.2008 08:21
Корень квадратный BETONOMESHALKA Общие вопросы Delphi 2 01.11.2007 10:06
Джентльмены, помогите, пжлст. каким оператором высчитать корень 5-ой степени числа? Osi@ Помощь студентам 32 03.10.2007 19:52