Я полный новичок. Я написал небольшую программу C# на SharpDevelop. Вот оно:Почему эта небольшая программа на C# на SharpDevelop, которая использует петли «для», не работает?
double i, j;
for(i=1; i<=30; i+=(1/60))
{
for(j=1+1/60; j<=30; j+=(1/60))
{
if(Math.Abs(Math.Log(i)/Math.Log(j)-0.63092975357)<=0.00001)
{
Console.WriteLine("ln("+i+") ln("+j+")");
}
}
}
Console.ReadKey(true);
Моя программа должна найти i
и j
, для которых ln(i)/ln(j)=0.63092975357
(например) i
и j
обязательно равны n/60
и m/60
соответственно, где n
и m
являются положительными целыми числами. (Я знаю, что я могу использовать тип int
вместо типа double
, но хотел бы, чтобы это работало с типом double
.)
Но это не сработает. Когда я нажимаю «Run Project», появляется черный экран, но ничего не происходит ... И SharpDevelop не указывает на какие-либо ошибки ...
Итак, какие ошибки я сделал? И как исправить мою программу?
Предлагаю установить точку останова в первом цикле 'for', пройти через нее и посмотреть, что произойдет. – Stefan
Не знаете, почему вы получаете downvoted, ваша проблема довольно очевидна. см. мой ответ для деталей. –
Сначала вам нужно получить набор значений, которые, как вы знаете, должны привести к желаемому результату. Затем проверьте свою формулу. Если он работает, проблема заключается в значениях 'i',' j'. Если нет, то исправьте формулу. Повторение. –