powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Необходимо составить новое число из повторений каждой цифры в числе.
14 сообщений из 14, страница 1 из 1
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703552
vova321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорогие участники форума помогите пожалуйста реализовать эту задачу


Дано целое положительное число. Необходимо составить новое число из повторений каждой цифры в числе. Результат вывести в область системных сообщений.
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703558
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vova321Необходимо составить новое число из повторений каждой цифры в числе.Невменяемо. Покажите пример, что ли...
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703563
vova321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

ну у нас есть число например "789545" у нас должно получится "78924"
или
889157 - 29157
47835888- 47235
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703565
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vova321,

а sql тут при чём?
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703569
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такую хрень толко в универе могут задать, а если так, то может быть сами попробуете решить?
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703572
vova321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
прошу простить.
должно так получится у на с число"47885" - получится 1121
или

98742448 - 12131
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703585
vova321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

задачу нужно решить на sql
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703588
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vova321TaPaK,

задачу нужно решить на sql

авторРезультат вывести в область системных сообщений.
успехов
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39703611
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vova321задачу нужно решить на sql
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
declare @n int = 98742448, @result varchar(30);

with a as
(
 select 1 as n, substring(cast(@n as varchar(10)), 1, 1) as digit
 union all
 select n + 1, substring(cast(@n as varchar(10)), n + 1, 1) from a where n < len(cast(@n as varchar(10)))
),
b as
(
 select
  n,
  row_number() over (partition by digit order by n) as rn,
  count(*) over (partition by digit) as c
 from
  a
)
select
 @result = x.value('.', 'varchar(30)')
from
 (select cast(c as varchar(10)) from b where rn = 1 order by n for xml path(''), type) t(x);

print @result;
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39704018
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
declare @n varchar(50) = '98742448'

;with cte as (
	select 
		n	=replace(@n,left(@n,1),'')
		,result =cast(len(@n)-len(replace(@n,left(@n,1),'')) as varchar(max))	
		,lvl	=1
		
	union all
	
	select
		n	=replace(n,left(n,1),'')
		,result =result+cast(len(n)-len(replace(n,left(n,1),'')) as varchar(max))	
		,lvl	=lvl+1
	from cte	
	where len(n)>0
)
select top 1 result from cte order by lvl desc
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39704043
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare @n varchar(100)
select @n = '98742448'
with a as(
select n
      ,substring(@n,n,1) s
  from (select number n
          from master..spt_values  
         where type = 'P') x
 where n between 1 and len(@n)
)
select c+''
  from (select count(1) c
              ,min(n) n
          from a 
         group by s)x
 order by n for xml path('')         
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39704053
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @n int = 987242228;

with
  r1 as (
	select ceiling(log10(@n)) ll, @n / 10 p, @n % 10 q
	union all
	select ll - 1, p / 10, p % 10 from r1 where p > 0
  ),
  dd as (select count(*) cc, min(ll) pp from r1 group by q)
select cast((select ltrim(str(cc))
             from dd
             order by pp
             for xml path('')) as int) rr;
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39704061
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если воспользоваться идеей изПосетитель
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare @n varchar(100)
select @n = '98742448'
with a as(
select n
      ,substring(@n,n,1) s
  from (select number n
          from master..spt_values  
         where type = 'P') x
 where n between 1 and len(@n)
)
select c+''
  from (select count(1) c
              ,min(n) n
          from a 
         group by s)x
 order by n for xml path('')

то можно так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
declare @n int = 987242228;

with
  r1 as (
	select ceiling(log10(@n)) ll, @n / 10 p, @n % 10 q
	union all
	select ll - 1, p / 10, p % 10
	from r1
	where p > 0
  )
select cast((select ltrim(str(count(*)))
             from r1
             group by q
             order by min(ll)
             for xml path('')) as int) rr;
...
Рейтинг: 0 / 0
Необходимо составить новое число из повторений каждой цифры в числе.
    #39704068
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходил из то, чтоvova321Дано целое положительное число. Необходимо составить новое число из повторений каждой цифры в числе.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Необходимо составить новое число из повторений каждой цифры в числе.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]