算法提高 约数个数


Link:http://lx.lanqiao.org/problem.page?gpid=T209


 输入一个正整数N (1
样例输入
12
样例输出
6
样例说明
  12的约数包括:1,2,3,4,6,12。共6个


AC code:

#include<stdio.h>
#include<iostream>
#include<algorithm> 
#include<cmath>
using namespace std;
int main()
{
	int n,cnt,m;
	cnt=0;
	scanf("%d",&n);
	m=sqrt(n);
	if(n==1)
	printf("1\n");
	else
	{
	for(int i=1;i<=m;i++)
	{
		if(n%i==0)
		{
			cnt+=2;
			if(i==m&&i*i==n)
			cnt--;
		}
	}
	printf("%d\n",cnt);
	}

	return 0;
}


你可能感兴趣的:(算法,ACM)