Warning: mysql_connect(): Lost connection to MySQL server at 'reading initial communication packet', system error: 110 in /raid1/html/ipb/admin/sources/classes/session/publicSessions.php on line 602 Warning: mysql_query() expects parameter 2 to be resource, boolean given in /raid1/html/ipb/admin/sources/classes/session/publicSessions.php on line 613 Warning: mysql_close() expects parameter 1 to be resource, boolean given in /raid1/html/ipb/admin/sources/classes/session/publicSessions.php on line 615 Намиране на броя числа с дублиращи се цифри..помощ - Data.BG Форуми
Форум

Data.BG Форуми: Намиране на броя числа с дублиращи се цифри..помощ - Data.BG Форуми

Прехвърляне към съдържание

Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

Намиране на броя числа с дублиращи се цифри..помощ

#1
Потребителят е неактивен   Askopl 

  • Група: Потребители
  • Мнения: 2
  • Регистриран: 19-November 19
  • Репутация: 0
  • Пол:Мъж
  • Град:Варна
Трябва ми някакво решение на следната задача, на C++ или Java ...Ще съм много благодарен на всеки опитал се да помогне!

Напишете програма която прочита от стандартния вход броя N на естествени числа, които ще анализира. След това програмата трябва да прочете тези N числа и да отпечата на един ред на стандартния изход броя на тези от тях, които могат, чрез разместване на цифрите в записа им да се преобразуват в някое от другите прочетени числа

Пример:

Вход :6 25 21 10242 42210 52 24021

Изход 5

Ограничения 2 < N ≤ 106 ;

прочетените числа са по-малки от 264. Гарантирано е, че прочетените числа са различни.

Обяснение на примера Чрез разместване на цифрите на 25 може да се получи 52. Вярно е и обратното твърдение – чрез разместване на цифрите на 52 може да се получи 25. До тук две измежду прочетените числа отговарят на исканото условие. Подобни съображения са валидни и за трите петцифрени числа от прочетените. Или общо пет от прочетените числа отговарят на условието
0

#2
Потребителят е неактивен   pinokio23 

  • Група: Потребители
  • Мнения: 22
  • Регистриран: 25-April 13
  • Репутация: 10
  • Пол:Мъж
  • Град:Бургас
Хах, стана ми интересно и реших да ти помогна с две години закъснение:

Ето код, базиран на това условие, който ако се рефакторира и се понамалят циклите може да заприлича на нещо.

поздрави!

import java.util.*;
import java.util.stream.Collectors;

class Main {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

String[] arr = scanner.nextLine().split(" ");
List<String[]> arrList = new ArrayList<>();

//putting the numbers as split arrays into list of arrays;
for (String a : arr) {
arrList.add(a.split(""));
}
//sorting the Arrays in the List of arrays;
for (int i = 0; i < arrList.size(); i++) {
String[] currentArr = arrList.get(i);
Arrays.sort(currentArr);
arrList.set(i, currentArr);
}

//converting back into Strings, so we can use Collections.frequency method;
List<String> stringValuesSorted = new ArrayList<>();
for (String[] s : arrList) {
stringValuesSorted.add(Arrays.toString(s));
}
//counting
int counter=0;
for (String s : stringValuesSorted) {
if(Collections.frequency(stringValuesSorted,s)<=1){
counter++;
}
}
//result
System.out.println(arrList.size()-counter);
}
}
0

Споделете тази тема чрез:


Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

1 потребители четат тази тема
0 регистрирани потребители, 1 гости и 0 анонимни потребители


Data.BG e форум за дискусии. Data.BG не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Data.BG.

Close  Member Login