Rajnandini Kadam Ответов: 3

Как мне разработать другую логику для кода, приведенного ниже


Химаншу - очень странный человек, поэтому каждый день у него появляется новый потрясающий номер. Но так как это только один, в случае, если ему нужно несколько чисел, Химаншу придумал определение "суффикс ошеломляющего числа".
Число называется суффиксом ошеломляющее число, если оно заканчивается на ошеломляющее число Химаншу.
Так, например, если ошеломляющее число Химаншу равно 25, то суффикс ошеломляющее число будет 625,11225, а 25, тогда как 5 и 2255, нет.
Написать программу на качественное про, которые будут сообщать, сколько суффикса ошеломляющие цифры доступны не более М
Входной формат
Единственная строка входного файла содержит два целых числа N и M, где N-ошеломляющее число Химаншу.
Выходной формат
Выведите количество суффиксных ошеломляющих чисел, не превышающих М.
Ограничения
1<=N<=M<=2∗
Ввод
5 15

Выход
2

Объяснение
N =5
Суффиксальные ошеломляющие числа меньше M=15-это 5 и 15
код, который я

Что я уже пробовал:

я попробовал код приведенный ниже но он не проходит тестовые случаи
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
  //write your code here
long int N,M,cnt=0,cmt=0;
  cin>>N>>M;
  if(N>M)
  cout<<0;
  else
  {
  while(N>0)
  {
      cmt++;
      N/=10;
  }
 long int x=pow(10,cmt);
  for( long int i=0;i<=M;i++)
  {
    if(i%x==N)
    cnt++;
  }
  cout<<cnt;
  }

  return 0;
}

3 Ответов

Рейтинг:
0

OriginalGriff

И мы понятия не имеем, что такое ваши тестовые случаи!

Так что все будет зависеть от тебя.
К счастью, у вас есть инструмент, который поможет вам выяснить, что происходит: отладчик. Как вы его используете, зависит от вашей системы компилятора, но быстрый поиск в Google имени вашей IDE и "отладчика" должен дать вам необходимую информацию.

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!


Рейтинг:
0

Patrice T

Прежде всего, когда вы хотите получить помощь для вызова с сайта вызова, это хорошая идея, чтобы разместить ссылку на исходную страницу. Потому что каждое слово имеет значение.
Ваши вопросы здесь говорят: 1<=N<=M<=2*
Но в stackoverflow он говорит: 1<=N<=M<=2∗109
Какой из них правильный или оба неправильны ?

Цитата:
я попробовал код приведенный ниже но он не проходит тестовые случаи

Образец теста, о котором идет речь, в порядке, покажите тест, который терпит неудачу.
Не ожидайте, что кто-то из нас экспериментирует, пока мы не найдем неудачный вход, это настоящая работа.

Без дополнительных подробностей, единственный способ пойти-это использовать отладчик с неудачным вводом, чтобы увидеть, когда он пойдет не так.
Цитата:
Как мне разработать другую логику для кода, приведенного ниже

Сравните вашу собственную логику с листом бумаги и карандашом с логикой вашего кода. Вы можете получить сюрприз.
-----
Ваш код ведет себя не так, как вы ожидаете, или вы не понимаете, почему !

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что должен делать ваш код, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]

1.11 — отладка программы (пошаговое выполнение и останова) | выучить C++[^]

Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.


Рейтинг:
0

KarstenK

Лучше всего сначала структурировать код с помощью функций или классов, потому что это помогает тестировать код.

По вашей логике за то качественное про количество-это неправильно. Первое число в N но ВСЕ следующие числа вычисляются по расстоянию до следующего числа.

пример: 5 next равно 15, поэтому расстояние равно 10 => 25, 35

Я оставлю это для вас, посчитать, что разница и более детальной проработки ;-)


Patrice T

Похоже, ОП слишком занят, чтобы отвечать на вопросы или исследовать полученные подсказки. У него есть время только на полное взрывное решение.