zoukankan      html  css  js  c++  java
  • 约数的个数

    约数的个数

    题目描述

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

    输入描述:

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

    输出描述:

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

    输入

    复制
    5
    1 3 4 6 12
    

    输出

    复制
    1
    2
    3
    4
    6


    思路:

    该问题为求解一个数num的约数个数,那么其实只需要将i在[1, sqrt(num) ]之间遍历,求解约数个数即可,分两种情况考虑,如果i2=num, 则ans+1,

    如果i!= num && num % i ==0, 则ans+2

     1 #include<iostream>
     2 #include<string>
     3 #include<cmath>
     4 #include<algorithm>
     5 
     6 using namespace std;
     7 
     8 int main()
     9 {
    10     int n;
    11     int num;
    12     while(cin >> n)
    13     {
    14         for(int i = 0; i < n; ++i)
    15         {
    16             int ans = 0;;
    17             cin >> num;
    18             int tmp = sqrt(num);
    19             
    20             for(int j = 1; j <= tmp; ++j)
    21             {    
    22                 if(num % j == 0)
    23                 {
    24                     if(j*j == num)
    25                         ans += 1;
    26                     else
    27                         ans += 2;
    28                 }    
    29             }
    30             
    31             cout << ans << endl;
    32         }
    33     }
    34     
    35     
    36     return 0;
    37 }
    
    
  • 相关阅读:
    SQL Server 通用分页存储过程
    SQL 分页通用存储过程
    python 获取本机IP的三种方式
    Python代码打印出9*9 九九乘法表
    python进程.线程和协程的总结
    5.__魔法方法__开会喽
    css干货部分
    html干货部分
    pyinstaller 打包exe可执行文件
    3_3.黏包现象
  • 原文地址:https://www.cnblogs.com/FengZeng666/p/11521191.html
Copyright © 2011-2022 走看看