Как найти в списке число кратное 10

  • Автор темы Автор темы maks_pays
  • Дата начала Дата начала

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Реакции
52
Баллы
28
Как найти в списке наименьшее число кратное 10
Желательно код.

Пример :
1
3
76
54
30
21
20

ответ:
20
 
Уменя сейчас так - думал кто код или скрипт подскажет) порой бывает минимальное 1000000 долго перебирает
 
Быстрый метод: Операции со списком > удалить строки > Не удовлетв. регулярному выражению:
Код:
Развернуть Свернуть Копировать
^\d+0$
Ну и отсортировать.

Хотя да, перебрать в цикле будет теоретически вернее.
 
  • Оценить
Реакции: maks_pays и doc
Код:
Развернуть Свернуть Копировать
var numbers = project.Lists["numbers"].OrderBy(x => x).ToList(); //сортируем по нарастающей

for(int i = 0; i < numbers.Count; i++)
{  
    int nn = numbers[i].Length; //берем длину строки

    if(numbers[i].Length >= 2) //если первое попавшееся равно или больше двух символов делаем ретюрн
    {
        return numbers[i];
    }
}
 
  • Оценить
Реакции: maks_pays
Код:
Развернуть Свернуть Копировать
var numbers = project.Lists["numbers"].OrderBy(x => x).ToList(); //сортируем по нарастающей

for(int i = 0; i < numbers.Count; i++)
{ 
    int nn = numbers[i].Length; //берем длину строки

    if(numbers[i].Length >= 2) //если первое попавшееся равно или больше двух символов делаем ретюрн
    {
        return numbers[i];
    }
}
1. Кратность - это когда число делится без остатка
2. Результат сортировки чисел как строк отличается от сортировки чисел
3. Длина строки...

В общем, не иди по стопам одного кота, который сортировал текстовый список чисел сначала как тект, а потом по длине строки. С числами надо работать как с числами
 
  • Оценить
Реакции: izubr и maks_pays
Чет недопонял по кратности
Код:
Развернуть Свернуть Копировать
var numbers = project.Lists["numbers"];
var intnum = numbers.Select(s => Convert.ToInt32(s)).OrderBy(x => x).ToList();
foreach(int n in intnum)
{
    if(n%10 == 0)
        return n;
}
 
  • Оценить
Реакции: izubr, maks_pays и doc
Чет недопонял по кратности
Код:
Развернуть Свернуть Копировать
var numbers = project.Lists["numbers"];
var intnum = numbers.Select(s => Convert.ToInt32(s)).OrderBy(x => x).ToList();
foreach(int n in intnum)
{
    if(n%10 == 0)
        return n;
}
Большое спасибо SergSh
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)