九度OJ 1087:约数的个数 (数字特性)
来源:互联网 发布:java 正则表达式 空格 编辑:程序博客网 时间:2024/05/23 20:58
- 题目描述:
输入n个整数,依次输出每个数的约数的个数
- 输入:
输入的第一行为N,即数组的个数(N<=1000)
接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)
当N=0时输入结束。
- 输出:
可能有多组输入数据,对于每组输入数据,
输出N行,其中每一行对应上面的一个数的约数的个数。
- 样例输入:
51 3 4 6 12
- 样例输出:
12346
- 来源:
- 2011年清华大学计算机研究生机试真题
思路:
从1循环到sqrt(n)求前一半约数,再求后一半。
如果全部循环,会超时。
代码:
#include <stdio.h>#include <math.h> int main(void){ unsigned a[1000]; int n; int i; int count; while (scanf("%d", &n) != EOF) { for (i=0; i<n; i++) scanf("%d", &a[i]); for (i=0; i<n; i++) { count = 0; for (unsigned j=1; j<sqrt(a[i]); j++) { if (a[i]%j == 0) count ++; } count *= 2; if ((int)sqrt(a[i]) * (int)sqrt(a[i]) == a[i]) count ++; printf("%d\n", count); } } return 0;}/************************************************************** Problem: 1087 User: liangrx06 Language: C Result: Accepted Time:110 ms Memory:912 kb****************************************************************/
0 0
- 九度OJ 1087:约数的个数 (数字特性)
- 九度OJ 1087 约数的个数
- 九度OJ 1087 约数的个数
- 九度OJ 1087:约数的个数
- 九度OJ-1087:约数的个数
- 九度OJ-1087-约数的个数
- 九度OJ 1087:约数的个数
- 九度OJ 1087 约数的个数 JAVA
- 九度OJ—题目1087:约数的个数
- 九度oj 题目1087:约数的个数
- 九度OJ 题目1087:约数的个数
- 九度 oj 题目1087:约数的个数
- 【九度OJ】题目1087:约数的个数 解题报告
- 九度OJ题目1087:约数的个数
- 题目1087:约数的个数 九度OJ
- 九度OJ 教程56 约数的个数(感谢炮神的约数公式)
- 九度OJ【1187】求约数的个数
- 九度题目1087:约数的个数
- what-to-tune-in-mysql-56-after-installation
- extends的方法调用
- scala中使用smart-json将json与map相互转换
- java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
- 《HBase权威指南》读书笔记5:第五章 客户端API: 管理功能
- 九度OJ 1087:约数的个数 (数字特性)
- Spring AOP三种拦截方式举例详解
- hashmap和hashset的区别
- c语言中字符串的输入和输出
- HDU 1695 GCD(莫比乌斯反演)
- Hashtable与ConcurrentHashMap区别
- 再见
- HDU1022
- 排序算法集锦