zoukankan      html  css  js  c++  java
  • 九度OJ 1087 约数的个数

    题目地址:http://ac.jobdu.com/problem.php?pid=1087

    题目描述:

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

    输入:

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

    输出:

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

    样例输入:
    5
    1 3 4 6 12
    样例输出:
    1
    2
    3
    4
    6
    /*
     * Main.c
     *
     *  Created on: 2014年1月15日
     *      Author: Shaobo
     */
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
     
    int main(void){
        int N;
        int * data = NULL;
        int i, j;
        int cnt, tmp;
     
        while (scanf("%d", &N) == 1 && N != 0){
            data = (int *)malloc(sizeof(int) * N);
            if (data == NULL)
                break;
            for (i=0; i<N; ++i)
                scanf("%d", &data[i]);
            for (i=0; i<N; ++i){
                cnt = 0;
                for (j=1; j<=(int)sqrt(data[i]*1.0); ++j){
                    if (data[i] % j == 0){
                        cnt = cnt + 2;
                    }
                }
                tmp = (int)(sqrt(data[i]*1.0));
                if (tmp * tmp == data[i])
                    --cnt;
                printf("%d
    ", cnt);
            }
            free(data);
        }
        return 0;
    }
    


  • 相关阅读:
    设计模式的原则
    命令模式
    访问者模式
    策略模式
    外观模式
    组合模式
    原型模式
    合并有序数组
    判断二叉树是否对称
    中序遍历二叉树
  • 原文地址:https://www.cnblogs.com/liushaobo/p/4373858.html
Copyright © 2011-2022 走看看