蓝桥杯算法提高ADV-98 约数个数

题目

试题 算法提高 约数个数

资源限制
时间限制:1.0s 内存限制:512.0MB
  输入一个正整数N
  
样例输入
12
样例输出
6
样例说明
12的约数包括:1,2,3,4,6,12。共6个

package 蓝桥练习;

import java.util.Scanner;

/**
 * 样例说明
  12的约数包括:1,2,3,4,6,12。共6个
 */
public class Main {

	public static void main(String[] args) {
		int sum = 0;
		Scanner s = new Scanner(System.in);
		int N = s.nextInt();
		
		for(int i=1; i*i<=N; i++) { //循环只要到两个数相乘到达该值即可
			if(N%i == 0) {
				if(i*i == N) { //若是两个相等的数则只需加1 (像4*4=16)
					sum +=1;
				}else { //若是不相同约数的个数则需加2
					sum +=2;
				}
			}
			
		}
		
		System.out.println(sum);
		s.close();

	}

}

发布了70 篇原创文章 · 获赞 2 · 访问量 5501

猜你喜欢

转载自blog.csdn.net/TheWindOfSon/article/details/104887647