1 条题解

  • 0
    @ 2025-11-30 16:26:19

    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
    上传者