Методи - Top Number.
Привет, мъча се със задача 10 от упражненията за Методи - Top Number.
Това е решението ми, но явно не ми се получава, може ли малко помощ по кода :
https://pastebin.com/YrwkehGa
Благодаря!
Привет, мъча се със задача 10 от упражненията за Методи - Top Number.
Това е решението ми, но явно не ми се получава, може ли малко помощ по кода :
https://pastebin.com/YrwkehGa
Благодаря!
Ето моето решение, мисля че по-бързо ще откриеш проблема покода си
using System;
namespace TopNumber
{
class Program
{
static void Main(string[] args)
{
long num = long.Parse(Console.ReadLine());
for (long i = 1; i <= num; i++)
GetSum(i);
}
private static void GetSum(long l)
{
long sum = 0;
long printNum = l;
bool setOddNumber = false;
while (l > 0)
{
if (l == 0)
break;
long temp = l % 10;
sum += temp;
if (!(temp % 2 == 0))
setOddNumber = true;
l /= 10;
}
if (sum % 8 == 0 && setOddNumber)
{
Console.WriteLine(printNum);
}
}
}
}
Неуспявам да схвана логиката ти. В мейн получаваш число от конзолата, правиш масив с тази големина и подаваш празен масив на булев метод. Масива има само null, реално в тялото на метода ти нищо не се случва.
Дай линк към условието.
Брагодаря колега, успях да се оправя.
Да, аз искам да си обясня защо е празен, идеята ми е да взема всяка цифра от рейнджа. Като дебъгна виждам, че е нула, но не разбирам защо е? Искам да взема всяка цифра от рейнджа на масива да я проверя дали е нечетна и да видя дали сумата се дели на 8. Защо не се получава. Просто не разбирам така изписан кода , какво трябва да променя за да работи.
Редактирах кода ти, така че да запълниш масива и да го предадеш на метода за обработка, след което метода ще ти върне стойност която да изпишеш на конзолата. Оставям на теб да развиеш логиката си за обработка на масива в метода.
Благодаря ти! Дебъгвах няколко пъти и сега ми стана ясна концепцията. Загубих време, но ми стана ясно.