赞
踩
目录
输入n个整数,依次输出每个数的约数的个数
输入的第一行为N,即数组的个数(N<=1000) 接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)
可能有多组输入数据,对于每组输入数据, 输出N行,其中每一行对应上面的一个数的约数的个数。
输入:
5 1 3 4 6 12输出:
1 2 3 4 6
- AC代码~
-
- #include<stdio.h>
- #include<stdlib.h>
- int main() {
- int N;
- while (scanf("%d", &N) != EOF) {
- int* a = (int*)malloc(N * sizeof(int));
- for (int i = 0; i < N; i++)
- scanf("%d", &a[i]);
- for (int i = 0; i < N; i++) {
- int sum = 0;
- int j;
- for (j = 1; j * j < a[i]; j++) { // 避免超时
- if (a[i] % j == 0)
- sum = sum + 2;
- }
- if (j * j == a[i])
- sum++;
- printf("%d\n", sum);
- }
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。