Здравейте имам въпрос към задача от домашното : Radians to Degrees
Здравейте бих желал да попитам нещо за кода, който съм написал. Дали е правилен и може ли да се оптимизира?Благодаря Ви!
Здравейте бих желал да попитам нещо за кода, който съм написал. Дали е правилен и може ли да се оптимизира?Благодаря Ви!
Здравей,
Решението ти е вярно.
Вариант първи е без "Math.Round()". Получената сума от изчислението го сабирам с (+)0.5 и го каствам към (int)
Пример първи --> получаваш 3.4 събираш го с (+)0.5 = 3.9 и го кастваш към цяло цисло без дробна част и получаваш (=)3.
Пример втори -- > получаваш 3.5 събираш го с (+)0.5 = 4.0 и го кастваш към цяло цисло без дробна част и полъчаваш (=)4.
Горе долу така работи (Math.Round()).
Console.Write("radians = ");
var radians = double.Parse(Console.ReadLine());
var degreess = (int)(radians / (Math.PI / 180.0) + 0.5);
Console.Write("degrees = ");
Console.WriteLine(degreess);
Ако нещо не ти е станало ясно питай смело.Успех!
Щом Judge дава 100 точки кода е правилен. Всяка задача има много решения, важното е сам да достигнеш до него, да мислиш алгоритмично. С течение на времето почват да ти хрумват и по-добри и прости решения, което за да стане трябва много да кодим. И моята епочти същата. http://pastebin.com/UZsH2aLZ
Колегата е прав че винаги има повече от един подход за решението на даден проблем във програмирането.Задачата може да се напише и на един ред - Решение.
Четенето и разбирането на кода се затруднява по този начин.
ами ето го и мойто,излиза точно в съдията Дред :))
Console.WriteLine("Radiant = ");
var radians = double.Parse(Console.ReadLine());
var degrees = Math.Round(radians * 180 / Math.PI);
Console.WriteLine("Degrees = {0}",degrees);
Здравей,
виж и моя код, съдията му дава 100 :)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Radians_to_Degrees
{
class Program
{
static void Main(string[] args)
{
var rad = double.Parse(Console.ReadLine());
var degree = rad * 57.29578;
var resultDegree = Math.Round(degree, 2);
var resultABS = Math.Abs(resultDegree);
Console.WriteLine(resultABS);
}
}
}
Здравей,
Ето как може да стане.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Concatenate_Data
{
class Program
{
static void Main(string[] args)
{
var radians = double.Parse(Console.ReadLine());
Console.WriteLine(Math.Floor(180 / Math.PI * radians));
}
}
}
Аз просто съм го направил и ми дава 50%:
import java.util.Scanner; public class RadianstoDegrees { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double rad = Double.parseDouble(scanner.nextLine()); Double area = rad*57.3; System.out.println(area); } }
А от къде идват тези скоби - (int)?
Това се нарича кастване "cast" в случая кастваме полученото число към int, което означава, че ако полученото число е примерно 5.5 след кастването, числото ще бъде 5 без (.5)