对于循环打印,给定范围均匀分割数

时间:2017-10-16 00:02:44

标签: loops for-loop numbers range

编写一个程序,接受用户的起始编号和结束编号。对于该范围内的每个数字,它将打印所有均匀划分的数字(除以0剩余部分)。

我只能获得该范围内的第一个数字,但它不会打印进程和最终数字。示例输入只是:85 89.输出应如下所示:

85可被1 5 17 85

整除

86可被1 2 43 86

整除

87可被1 3 29 87

整除

88可被1 2 4 11 22 44 88

整除

89可被1 89整除。

import java.util.*;
public class NumberRange { 
 public static void main(String args[]) {
    Scanner in = new Scanner(System.in);
    int num1;
    int num2;
    num1 = in.nextInt();
    num2 = in.nextInt();
    System.out.print(num1 + " is evenly divisible by ");
    for(num2 = 1; num2 <= num1; num2 ++)
      {
         if (num1 % num2 == 0)
         {
            System.out.print(num2 + " ");
         }
      }
 }
}

2 个答案:

答案 0 :(得分:0)

您的输入显示此不变量:import tkinter as tk。因此,您不希望使用num1 <= num2放弃num2输入,而是需要一个外部循环:

for (num2 = 1; num2 <= num1; num2 ++)

调用辅助函数(包含循环),或者至少调用从for (int n = num1; n <= num2; n++) ... 1运行的嵌套循环,测试余数。如果将内循环放在适当命名的辅助函数中,您的老师会留下深刻的印象。提示:你需要为该内循环声明另一个变量。

答案 1 :(得分:0)

myMonth--;
var nextBirthday = (new Date(today.getFullYear(), myMonth, myDay))<today?(new Date(today.getFullYear()+1, myMonth, myDay)):(new Date(today.getFullYear(), myMonth, myDay))