问题描述:
输入一个整数,计算该整数除去自身的最大因数。
输入格式:
一个整数a。
输出格式:
一个整数,整数a除去自身的最大因数。
输入样例:
在这里给出一组输入。例如:
6
输出样例:
在这里给出相应的输出。例如:
3
思路:
- 首先,通过Scanner类从标准输入(通常是键盘)获取一个整数n。
- 然后,代码通过一个for循环从n-1开始递减到1。在每次迭代中,它检查n是否能被当前的迭代变量i整除(即n % i == 0)。
- 如果找到了一个数i,使得n能被i整除,那么这个数就是n的最大因数(因为我们在从n-1开始递减查找,所以找到的第一个能整除n的数必定是最大的)。
- 找到最大因数后,使用System.out.println(i)打印该数,并通过break语句跳出for循环。
代码:
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=n-1; i>0; i--){
if(n % i==0){
System.out.println(i);
break;
}
}
}
}
运行截图: