-3
Мне удалось идентифицировать номер Петерсона, но у меня проблемы с его получением в цикле.Принять диапазон и распечатать все номера Петерсона в заданном диапазоне
import java.util.*;
public class Special_no
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
int n,r,s=0;int i,f,m=0;int a,j=0;
System.out.println("Enter the Lower Limit : ");
n=sc.nextInt();
System.out.println("Enter the Upper Limit : ");
a=sc.nextInt();
for(j=n;j<a;j++)
{
m=j;
do
{
r=m%10;
f=1;
for(i=1;i<=r;i++)
{
f=f*i;
}
s=s+f;
m=m/10;
}
while(m>0);
if(s==j)
System.out.print(j+",");
}
}
}
Во время выполнения, после ввода верхнего и нижнего пределов программа принимает его, но он не дает мне никакого выхода.
Как это исправить?
Выполнение некоторых отладочных работ. –
, так как OliverCharlesworth сказал немного отладки, но только для подсказки, что делает 'while (m> 0);' do? почему у вас там есть? –
- это 'while (m> 0);' correct? попробовали с помощью ';'? – Zion