当我输入6,8,16或者24的时候为什么不能正确输出
public class lala {
public static void main (String[] args){
int s;
Scanner in =new Scanner(System.in);
System.out.print("请输入一个正整数:");
s=in.nextInt();
new teee(s);
}
}
class teee{
int x=6,y=8;
public teee(int s){
System.out.print("结果:");
int i,j,m=-1;
for(i=0;i*x<s;i++){
for(j=0;j*y<s;j++){
if(s==i*x+j*y){
m=i+j;
System.out.println(m);
break;
}
}
if(m>0)break;
}
if(m<0){System.out.println(m);}
}
}
Du point de vue du code, considérons le code de la question comme trouvant une solution qui satisfait l'équation s = 6i+8j, a la plus petite valeur de i et génère i+j.
.Tout d'abord, cela peut être déterminé intuitivement. Si vous souhaitez satisfaire la situation de i=0 ou j=0, les conditions de jugement des deux boucles doivent être définies sur
Sinon, nous ne pouvons pas obtenir la solution de i=0 ou j=0, c'est-à-dire la solution entière multiple, c'est pourquoi les 6, 16 et 24 que vous avez mentionnés sont inexacts.
Ligne de séparation :
Il est encore difficile de choisir entre le niveau d'activité du forum et la qualité des questions/réponses dans le forum.
Personnellement, j'ai toujours pensé que les réponses comme "Ce genre de question est très simple", "Vous pouvez la trouver sur Baidu" et autres, qui ne contiennent que des critiques mais pas de suggestions, ou des commentaires qu'il n'est pas nécessaire d'écrire , ont pour seul but de causer des ennuis aux autres. Pour les nouveaux arrivants, ce genre de problème n'est peut-être pas simple. De plus, Baidu n'a pas de problèmes de logique de code aussi spécifiques.
Si de nouvelles personnes posent des questions qui ne sont pas standardisées, vous pouvez les signaler et les guider pour qu'ils adoptent la bonne posture de questionnement. Cela non seulement les empêchera de commettre de telles erreurs à l'avenir, mais ne freinera pas non plus leur enthousiasme. de nouvelles personnes et assurer l'activité du forum. Notre forum pourrait être plus convivial.
Référence de sujet recommandée :
https://segmentfault.com/tour
Je suis également nouveau ici. Je ne sais pas si segmentfault a un parc aquatique pour les débutants, je peux poser des questions simples ici, problème résolu.
Débogage, il y a un problème avec la sortie de -1 ? Aucune des conditions de la boucle for n'est remplie. Vous souhaitez afficher if(s==ix+jy){
.