Python练习题 014:完数】的更多相关文章

[Python练习题 014] 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. ----------------------------------------------------------- 这题只要弄明白"完数"及其"因子"的概念,就不难.一开始我把"因子"理解为"质因子",结果只算得出个6.后来才知道,只要数字a能被数字b整除,不论b是…
day12 --------------------------------------------------------------- 实例019:完数 题目 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 分析:如果能被a整除,那么a是因子,放入一个列表然后再求和,与原被除数相等,就是完数 1 for i in range(1,int(a)): 2 list = [] 3 if i >1: 4 for j in r…
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ----------------------------------------------- 做题做到现在,这种题目已经很轻车熟路了.希望下一题能增加点难度啊~~~ x = input('请输入一个5位数:') if x[0] == x[4] and x[1] == x[3]: print('%s是个回文数' % x) else: print('%s不是回文数' % x) 输…
Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的数,屏幕显示"太大了,请重新输入"如果小于预设的数,屏幕显示"太小了,请重新输入"如此循环,直到猜中,显示"恭喜你,猜中了!共猜了N次"N为用户猜测次数. 答案: import random def guess_number(): true_num…
原题: 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 我的代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- # 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. x = int(input("please input the number:\n")) #…
完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子之和,则称该数为“完全数”.如6,它的因子除了它本身外还有1.2.3,1+2+3=6,可以得出6为完数. 案例:如何用python寻找1000以内的完数. 在求完数时,完数的因子范围是(1,i-1),但是在用for循环遍历时,因子的范围需要设置为(1,i).因为for循环遍历的规则可以理解为“前包后不包”,如:f…
完数:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如 6 = 1+2+3. 题目内容: 输入一个正整数n(n<1000),输出1到n之间的所有完数(包括n). 输入格式: 共一行,为一个正整数. 输出格式: 若干行,从小到大输出完数,一行为一个数. 输入样例: 30 输出样例: 6 28 时间限制:500ms内存限制:32000kb a = int(input()) def fun(number): yinzi = [] for m in range(2, numbe…
9 [程序 9 求完数] 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如 6=1+2+3.编程找出 1000 以内的 所有完数. package cskaoyan; public class cskaoyan9 { @org.junit.Test public void perfectNumber() { int sum = 0; int number = 1000; for (int i = 2; i <= number; i++) { for (int j…
一个数如果恰好等于它的因子之和,就被成为完数.例如6的因子为1,2,3,而6=1+2+3,所以6是一个完数.编程找出1-1000之间的所有完数 #include<iostream> using namespace std; int main() { ;i<=;i++) { ; ;j<i;j++) { ) sum+=j; } if(sum==i) cout<<sum<<endl; } ; }  …
[Python练习题 003]一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? ------------------------------------------------- 所谓的"完全平方数",就是开完根号仍然是整数. 数学渣是这么思考的:假设这个数 i 在10000以内.第一步:x = sqrt(i+100).如果 x == floor(x),则证明 x 是个整数.第二步道理也相同,但要记得把 x**2 把根号还原回来,再加上 168…
如果真的想学精,学什么都不是好学的,如果真的想把Python学的出神入化,几乎自己想做什么都可以,就要下定恒心,坚持下去. 接下来继续更新Python练习题2,通过更新前一部的练习题让自己也学到了不少东西 1.取任意小于1美元的金额,然后计算可换成哪几种硬币,分别有几个?硬币有1美分.5美分.10美分.25美分4种,如0.76美元可换3个25美分.1枚1美分 #encoding=utf-8 __author__ = 'heng' from copy import deepcopy #对于要改变字…
本题来自 Project Euler 第4题:https://projecteuler.net/problem=4 # Project Euler: Problem 4: Largest palindrome product # A palindromic number reads the same both ways. # The largest palindrome made from the product # of two 2-digit numbers is 9009 = 91 × 9…
[Python练习题 016] 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下一个桃子了.求第一天共摘了多少. -------------------------------------------------- 这题得倒着推.第10天还没吃,就剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子p个,可得:p * 1/2 -…
[Python练习题 010]将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. --------------------------------------------------------------- 蛮以为这又是道送分题,结果费了我1个半小时才解出来! 一开始我简单地以为,只要将输入的整数拿个数字列表挨个除一遍,能整除的就可以收为质因数.但事实上是行不通的,因为这样会连同 4.6.9 这样的数字也收进去,而当质因数有重复时(比如12=2*2*3),就会被遗漏掉. 基于…
[Python练习题 009] 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. ---------------------------------------------------------------------- 这题也是送分题,只要能把任意三位数的百位.十位.个位拆解出来就好办了.思路:将任意3位数除以100再向下取…
[Python练习题 007] 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? ------------------------------------------------------------------- 这题反正我自己是算不出来.后来搜索了网上,说是经典的"斐波纳契数列".于是我自己排画了一下(如下图,小写表示小兔子,大写表示大兔子): a a A b A b c A B c d e A…
[Python练习题 006] 输出九九乘法表 --------------------------------------------------- 照理这题不难,逻辑关系弄对了就好办,但数学渣的我就是想了好一会儿再写对的啊-- 代码如下: for i in range(1,10): #循环9次,打印出9行 for j in range(1,i+1): #第几行就有几项 print('%s*%s = %s' % (j, i, i*j), end=' ') print('') #每循环1次就打印…
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数. 解题过程也很简单: public class wanshu { int number,value; public static void main(String[] args) { wanshu w = new wanshu(); w.function(); } public void function(){ //找出一个整数的所有因子,进行判断 for(int i =…
2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数. 提示:可以写一个函数来判断某个数是否是完数. 输入格式: 两个正整数,以空格分隔. 输出格式: 其间所有的完数,以空格分隔,最后一个数字后面没有空格.如果没有,则输出一行文字: NIL (输出NIL三个大写字母…
源代码: #include "stdafx.h" //必须写在首行,因为其前面的include都会被忽略 #include "omp.h" #include <Windows.h> #include "time.h" #include <iostream> #include <set> using namespace std; //串行方式 set<int> FinishedNumber(int n…
完数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 27275 Accepted Submission(s): 10213 Problem Description完数的定义:如果一个大于1的正整数的所有因子之和等于它的本身,则称这个数是完数,比如6,28都是完数:6=1+2+3:28=1+2+4+7+14. 本题的任务是判断两个正整数之间完数…
题目描述 一个数如果恰好等于它的因子之和,这个数就称为"完数". 例如,6的因子为1.2.3,而6=1+2+3,因此6是"完数". 编程序找出N之内的所有完数,并按下面格式输出其因子. 输入描述 N 输出描述 ? its factors are ? ? ? 样例 输入: 输出: 6 its factors are 1 2 3 28 its factors are 1 2 4 7 14 496 its factors are 1 2 4 8 16 31 62 124…
http://acm.nyist.net/JudgeOnline/problem.php?pid=597 完数? 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 一个数如果恰好等于不等于它本身的所有因子之和,那么这个数就被称为"完数".例如,6的因子为1,2,3,而6=1+2+3,因此,6是完数.要求给定一个整数n,请编写程序,确定n是否是完数.   输入 每组数据输入一个n(1<=n<=10^4)当n为-1时,输入结束. 输出 每组数据输…
前文链接:帮初学者改代码——playerc之“练习:求完数问题”(上) 再来看看be_ferfect()应该如何改. be_ferfect()函数的功能是判断number是否为完数,同时把因子对写入divisers数组.以28这个完数为例,在数组中将依次写入 1 28 2 14 4 7 输出时则按要求依大小次序输出 1 2 4 7 14.先从前跳到后,到头之后掉头,再从后跳到前. 这种写入的方式决定了输出代码写起来要困难一些.如果希望输出写得容易些的话,写入时就必须改变这种图省事的办法. 有很多…
原文:“练习:求完数问题” 原代码: // #include <stdio.h> #include <stdlib.h> #include <math.h> #define DIVISERS_MAX_LENGTH (1024) #define TOP (10000) int main(void) { /* * 储存因子,成对的储存.例如6 * 1,6, 2,3 */ int divisers[DIVISERS_MAX_LENGTH] = {0}; int diviser…
一.JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这…
题目内容:自然数中,完数寥若晨星,请在从1到某个整数范围中打印出所有的完数来.所谓“完数”是指一个数恰好等于它的所有不同因子之和.例如,6是完数,因为6=1+2+3.而24不是完数,因为24≠1+2+3+4+6+8+12(=36). 输入描述:输入数据中含有一些整数n(1<n<10000). 输出描述:对于每个整数n,输出所有不大于n的完数.每个整数的输出由n引导,跟上冒号,然后是由空格开道的一个个完数,每个n的完数列表应占独立的一行. 题目分析:本题限时一秒.先把小于10000的完数计算出来…
// GetWanShu.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include "omp.h" #include <Windows.h> #include "time.h" //函数声明 void getWanShuBySection(); void getWanShu(); void getWanShuByReduction(); int _tmain(int argc, _TCH…
[Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得代码太啰嗦.矩阵这东西,应该有个很现成的方法可以直接计算才对-- 啰嗦代码如下: str = input('请输入9个数字,用空格隔开,以形成3*3矩阵:') n = [int(i) for i in str.split(' ')] #获取9个数字 mx = [] #存储矩阵 for i in ra…
[Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获取输入的10个数字,然后用 lst.sort() 就完成排序了.代码如下: s = input('请输入10个数字,以空格隔开:') n = [int(x) for x in s.split(' ')] n.sort() print(n) 输出结果如下: 请输入10个数字,以空格隔开:3 23 4…