题解 | #约数的个数#

约数的个数

https://www.nowcoder.com/practice/04c8a5ea209d41798d23b59f053fa4d6

//土尔逊Torson 编写于2023/05/10
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>

using namespace std;

int numDivisor(int num) { //约数 为除数 或 因数
	int total = 0;
	unsigned int i;
	for (i = 1; i*i < num; i++) {
		if (num % i == 0) {
			total += 2;
		}
	}
	if (i*i == num) {
		++total;
	}
	return total;
}

int main() {
	int N, Num;     //根据题意收集数据
	while (scanf("%d", &N) != EOF) {
		vector<int> hold;
		for (unsigned int i = 0; i < N; ++i) {
			hold.push_back(0);
		}

		for (unsigned int i = 0; i < N; ++i) {
			scanf("%d", &Num);
			hold[i] = numDivisor(Num);
		}

		for (int i = 0; i < N; ++i) {
			printf("%d\n", hold[i]);
		}
	}
	system("pause");
	return EXIT_SUCCESS;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

谁知道呢_:要掉小珍珠了,库库学三年,这个结果
点赞 评论 收藏
分享
03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务