[CCC 1996 01]Deficient, Perfect, and Abundant
CCC加拿大高中生信息学奥赛
其余来源
CODEVS[3312]——CCC 1996 01 Deficient, Perfect, and Abundant ——http://codevs.cn/problem/3312/
POJ[1928]——Perfection——http://poj.org/problem?id=1528
CODEVS描述——中文题目
题目描述 Description
读入一个正整数n,判断整数是完数,亏数还是盈数。
•如果它的约数的和等于它本身,那它便是一个完数(Perfect)(约数包含1,但不包含它本身)。
•如果它的约数的和小于它本身,那它便是一个亏数(Deficient)(约数包含1,但不包含它本身)。
•如果它的约数的和大于它本身,那它便是一个盈数(Abundant)(约数包含1,但不包含它本身)。
输入描述 Input Description
输入文件共两行,
第一行为一个正整数n,
第二行为n个正整数,中间用空格隔开。
输出描述 Output Description
输出为n行,分别为第1..n个数的类别。
完数:Perfect
亏数:Deficient
盈数:Abundant
样例输入 Sample Input
3
4 6 12
样例输出 Sample Output
4 is a deficient number.
6 is a perfect number.
12 is an abundant number.
数据范围及提示 Data Size & Hint
1<=n<=2^31-1
POJ描述(英文)
Description
Given a number, determine if it is perfect, abundant, or deficient.
Input
Output
Sample Input
15 28 6 56 60000 22 496 0
Sample Output
PERFECTION OUTPUT15 DEFICIENT28 PERFECT6 PERFECT56 ABUNDANT 60000 ABUNDANT22 DEFICIENT496 PERFECT END OF OUTPUT
Source
思路
利用数论知识快速计算一个数的约数和,详见程序函数。
样例
CODEVS:
![](/assets/blank.gif)
![](/assets/blank.gif)
var t,x:longint;function ans(n:longint):longint; var i:longint; beginans:=0;for i:=1 to n dobeginif (i*i=n) thenbeginans:=ans+i;break;end;if (i*i>n) then break;if (n mod i=0) then ans:=ans+i+n div i;end; end;procedure main; var anss,n:longint; beginread(n);anss:=ans(n)-n;if anss<n then writeln(n,' is a deficient number.');if anss=n then writeln(n,' is a perfect number.');if anss>n then writeln(n,' is an abundant number.'); end;beginreadln(t);for x:=1 to t do main; end.
View Code
POJ:
![](/assets/blank.gif)
![](/assets/blank.gif)
var t,x,n:longint;function ans(n:longint):longint; var i:longint; beginans:=0;for i:=1 to n dobeginif (i*i=n) thenbeginans:=ans+i;break;end;if (i*i>n) then break;if (n mod i=0) then ans:=ans+i+n div i;end; end;procedure main; var anss,x,i:longint;s:ansistring; beginanss:=ans(n)-n;str(n,s);x:=length(s);for i:=1 to 5-x do write(' ');if anss<n then writeln(n,' DEFICIENT');if anss=n then writeln(n,' PERFECT');if anss>n then writeln(n,' ABUNDANT'); end;beginwriteln('PERFECTION OUTPUT');while true dobeginread(n);if n=0 thenbeginwriteln('END OF OUTPUT');halt;end;main;end; end.
View Code
转载于:https://www.cnblogs.com/yangqingli/p/4906400.html
[CCC 1996 01]Deficient, Perfect, and Abundant相关推荐
- 第01章_Java语言概述
1. Java知识脉络图 1.1 Java基础全程脉络图 1.2 本章专题与脉络 2. 抽丝剥茧话Java 2.4 软件开发之Java开发 移动应用领域(集成Android平台):Java在Andro ...
- Java 基础-01 Java语言入门
文章目录 Java 基础-01 Java语言入门 1.计算机基本概念 1.1 计算机概述 1.2 计算机组成 1.3 CPU.内存与硬盘 2.软件基本概念 2.1 软件概述 2.2 人机交互方式 2. ...
- poj解题报告——poj 1528 Perfection
原题入口 poj 1528 Perfection 题目描述 Perfection Time Limit: 1000MS Memory Limit: 10000K Total Submissions: ...
- 函数式思维: 运用函数式思维,第2 部分
关于本系列 本系列文章旨在将您的思维方式向函数式思维方式调整,使您以全新的角度来思考常见问题,并提高您的日常编码工作.本系列介绍了函数式编程概念,函数式编程在Java 语言中运行的框架.在JVM 上运 ...
- movie_recommendation_spark1
mllib建立推荐模型 数据准备 数据包含在ml-100k的文件夹中,文件夹中比较重要的几个文件是u.user(用户属性数据集).u.item(电影元数据)和u.data(用户对电影的评分数据) (1 ...
- 函数式思维: 为什么函数式编程越来越受关注
到目前为止,在本系列的每期文章中,我都说明了为什么理解函数式编程非常重要.但是,有些原因是在多期文章中进行说明的,只有在综合思路的更大背景中,才可以完全了解这些原因.在本期文章中,我会探讨函数式编程方 ...
- 服务端异步IO配合协程浅析
服务端异步IO配合协程浅析 代码如下 #coding:utf-8 import socket from selectors import DefaultSelector, EVENT_READ, EV ...
- python下使用epoll
因为最近想学习如何用epoll写服务器, 于是找到了一篇介绍的文章. 因为我最近一直看不进技术文章, 于是打算通过翻译来强迫自己学习. 原文在这里: http://scotdoyle.com/pyth ...
- Learning by doing 系列文章(之一)如何在 Python 中使用 epoll ?
epoll 简介 参见本博前一文<epoll使用详解> Epoll Within Python Python 在 2.6 版中引入了用于处理Linux epoll系统调用的API,本文简单 ...
最新文章
- 一文搞懂转置卷积(反卷积)
- 【深度学习】深度学习两大基础Tricks:Dropout和BN详解
- 1.Lambda表达式(新手写的!新手写的!新手写的!)(未完成)
- linux windows爆音,升级Windows 10后 部分情况下有爆音,杂音,音频卡顿现象
- netty系列之:一个价值上亿的网站速度优化方案
- 10 个实验性的 JS/CSS3 编程技术
- 数据科学 IPython 笔记本 9.11 结构化数据:NumPy 的结构化数组
- 刚刚,无人驾驶公司Roadstar,发公告把联合创始人开除了
- SSH农产品销售系统设计与实现答辩PPT免费下载
- 数据科学(data science)概览
- throw和throws有什么区别
- 传输层协议TCP和UDP分析
- python安装sqlalchemy-Python流行ORM框架sqlalchemy安装与使用教程
- [Python设计模式] 第25章 联合国维护世界和平——中介者模式
- 错误:[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 解决方法_QT
- android 音效,音效 | Android 开源项目 | Android Open Source Project
- java json jar包下载_jsonobject必备jar包
- 外设驱动库开发笔记28:W5500以太网控制器
- AD域控服务器问题解决记录--lsass.exe流量异常
- java操作Excel表格使用EasyExcel
热门文章
- Pushed master to new branch origin/master
- cad计算机辅助,CAD 计算机辅助.doc
- 王者荣耀段位计算器软件
- npm安装报no such file or directory原因和解决方法
- ThreeJS - 修复摄像机近距离模型或者摄像机在某些观察角度3D模型部分或者全部不可见的问题
- unicode gb2312对应表(GB升序)
- 软件测试 -- 进阶 8 软件测试流程和过程
- C语言:地址传递与传递
- 22.11.3打卡 HDU-1069
- 优秀笔记课件——Google 及其它搜索引擎的高级使用