1 条题解
-
0
C :
#include<stdio.h> #include<math.h> int main() { int i,n,s=0; double ndai; scanf("%d",&n); ndai=sqrt(n); for(i=1;i<sqrt(n);i++) { if(n%i==0)s++; } if(floor(ndai+0.5)==ndai)s=2*s+1; else s=2*s; printf("%d",s); return 0; }C++ :
#include<iostream> #include<cmath> using namespace std; int main() { int x,a=0,s; cin>>x; s=floor(sqrt(x)); for (int i=1;i<=floor(sqrt(x));++i) {if (x%i==0) ++a;} if ((sqrt(x))==s) cout<<a*2-1<<endl; else cout<<a*2<<endl; return 0; }Python :
# coding=utf-8 n = int(input()) # 初始化因数个数为0 factor_count = 0 # 遍历可能的因数 for i in range(1, int(n**0.5) + 1): # 如果i是n的因数 if n % i == 0: # 增加因数个数 factor_count += 1 # 如果i和n/i不相等,说明n/i也是一个不同的因数 if i != n // i: factor_count += 1 # 输出因数的个数 print(factor_count)
- 1
信息
- ID
- 1176
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者