九度OJ 1050:完数 (数字特性)
来源:互联网 发布:photoshop mac版下载 编辑:程序博客网 时间:2024/05/11 21:08
- 题目描述:
求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。
- 输入:
测试数据有多组,输入n,n数据范围不大。
- 输出:
对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。
- 样例输入:
6
- 样例输出:
6
- 来源:
- 2010年哈尔滨工业大学计算机研究生机试真题
思路:
求出所有的因子,然后相加即可。
此题实际上只需要循环到sqrt(n),后面的因子用前面求出来的就能求,时间复杂度会大大下降。
代码:
#include <stdio.h> int main(void){ int n, i, j; int count; int sum; while (scanf("%d",&n) != EOF) { count = 0; for (j=1; j<=n; j++) { sum = 0; for (i=1; i<=j/2; i++) { if (j % i == 0) sum += i; } //printf("sum=%d", sum); if (sum == j) { count ++; if (count > 1) printf(" "); printf("%d", j); } } printf("\n"); } return 0;}/************************************************************** Problem: 1050 User: liangrx06 Language: C Result: Accepted Time:120 ms Memory:912 kb****************************************************************/
0 0
- 九度OJ 1050:完数 (数字特性)
- 九度OJ 1074:对称平方数 (数字特性)
- 九度OJ 1060:完数VS盈数 (数字特性)
- 九度OJ 1132:与7无关的数 (数字特性)
- 九度OJ 1067:n的阶乘 (数字特性)
- 九度OJ 1087:约数的个数 (数字特性)
- 九度OJ 1183:守形数 (数字特性)
- 九度 OJ 1050:完数
- 九度oj-1050-完数
- 九度OJ 1075:斐波那契数列 (数字特性)
- 九度OJ 1076:N的阶乘 (数字特性、大数运算)
- 九度OJ 1357:疯狂地Jobdu序列 (数字特性)
- 九度OJ—题目1050:完数
- 九度OJ 1089:数字反转 (数字反转)
- 九度OJ--1050(计算n以内的完数)
- 九度OJ 题目1060:完数VS盈数
- //九度OJ 1060 完数VS盈数
- 九度OJ 1060:完数VS盈数
- Android Studio 使用日志:3. Android Studio 完全删除项目的方法
- ZOJ 3204 (C)
- Android目录
- java冒泡排序法
- Centos安装Ruby2.2.3
- 九度OJ 1050:完数 (数字特性)
- 为Mac配置服务器nginx
- win32命名管道/完成端口用法练习
- 基于 Open vSwitch 的 OpenFlow 实践
- 高中生活-第9篇-开学之初的“失足”囧事,"刻舟求剑"导致腿折了
- eclipse下Android工程引用工程或jar包
- C++虚函数表解析(转)
- 海量数据挖掘MMDS week4: 推荐系统之数据降维Dimensionality Reduction
- Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量