кодесурса

Упражнения на Java: Проверьте, является ли число стробограмматическим числом

script1adsense2code
script1adsense3code

Java Basic: упражнение 186 с решением

Напишите программу на Java, чтобы проверить, являются ли две данные строки изоморфными или нет.

Согласно Википедии «Стробограмматическое число - это число, цифра которого вращательно-симметрична, так что оно выглядит одинаково при повороте на 180 градусов. Другими словами, цифра выглядит одинаково справа вверх и вниз (например, 69, 96, 1001). Стробограмматическое простое число - это стробограмматическое число, которое также является простым числом, т. Е. Числом, которое делится только на одно и на себя (например, 11). Это тип амбиграммы, слова и числа, которые сохраняют свое значение, когда смотреть с другой точки зрения, например, палиндромы ".
Первые несколько стробограммных чисел:
0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, ...

Иллюстрированная презентация:


Пример решения:

Java-код:

import java.util.*;
public class Solution {
 public static void main(String[] args) {
  String n ="9006";
  System.out.println("Is " + n + " is Strobogrammatic? " + is_Strobogrammatic(n));
 }
 public static boolean is_Strobogrammatic(String n) {
  if (n == null || n.length() == 0) {
   return true;
  }
  HashMap < Character, Character > map = new HashMap < Character, Character > ();
  map.put('0', '0');
  map.put('1', '1');
  map.put('8', '8');
  map.put('6', '9');
  map.put('9', '6');
  int left = 0;
  int right = n.length() - 1;
  while (left <= right) {
   if (!map.containsKey(n.charAt(right)) || n.charAt(left) != map.get(n.charAt(right))) {
    return false;
   }
   left++;
   right--;
  }
  return true;
 }
}

Пример вывода:

 Является ли 9006 Стробограмма? правда

Блок - схема:

«Блок-схема:

Редактор кода Java:

Компания: Google

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Java, чтобы проверить, являются ли две данные строки изоморфными или нет.
Далее: Напишите программу на Java, чтобы найти индекс первого неповторяющегося символа в данной строке.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code