zoukankan      html  css  js  c++  java
  • 问题 D: 约数的个数

    问题 D: 约数的个数

    时间限制: 1 Sec  内存限制: 32 MB
    提交: 272  解决: 90
    [提交][状态][讨论版][命题人:外部导入]

    题目描述

    输入n个整数,依次输出每个数的约数的个数。

    输入

    输入的第一行为N,即数组的个数(N<=1000)
    接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)
    当N=0时输入结束。

    输出

    可能有多组输入数据,对于每组输入数据,
    输出N行,其中每一行对应上面的一个数的约数的个数。

    样例输入

    6
    1 4 6 8 10 12
    0

    样例输出

    1
    3
    4
    4
    4
    6

    #include<bits/stdc++.h>
    
    using namespace std;
    
    int solve(int x)
    {
        int sum=0;
        int n=sqrt(x);
        for(int i=1;i<=n;i++){
            if(x%i==0) sum+=2;
        }
        if(n*n==x) sum--;//等于的话 会多加一个
        return sum;
    }
    int main()
    {
        int n;
        while(scanf("%d",&n)==1,n){
            for(int i=0;i<n;i++){
                int x;
                scanf("%d",&x);
                printf("%d
    ",solve(x));
            }
    
        }
        return 0;
    }
  • 相关阅读:
    21班考试总结
    性别
    2019.08.20上课笔记2
    2019.08.20上课笔记3
    2019.08.20上课笔记1
    单词2
    数据类和运算符
    2019.08.14单词1
    2019.08.14上课笔记1
    request.get... getHeader 能取得的信息 参数
  • 原文地址:https://www.cnblogs.com/chenchen-12/p/10155294.html
Copyright © 2011-2022 走看看