Python和Java编程题(一)

今天偶尔看到一个博客有贴了五十个编程题,决定以后两天左右做一道题

题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html

1.题目

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。

2.Java实现

Java中的通过创建对象,再来调用方法解决问题思想还是不太熟练

 1 public class ProfectNumber {
 2     /*
 3      * 定义计算数字的因子总和
 4      */
 5     public void GetProfectNumber(int a) {
 6         for(int i=2;i<a;i++) {
 7             int Sum = 0;
 8             for(int j=1;j<i;j++) {// 求数字i的出本身之外的因子
 9                 if(i%j==0) {
10                     Sum += j;
11                 }
12             }
13             if(i==Sum) {
14                 System.out.print(i+"、");
15             }
16         }
17     }
18
19     public static void main(String args[]) {
20         ProfectNumber p = new ProfectNumber();//新建此类对象
21         p.GetProfectNumber(1000);//调用计算完数方法
22     }
23 }

3.Python实现

 1 # -*- coding: utf-8 -*-
 2 # 一个数等于除它本身之外的因子之和,称为完数
 3 def Factor(a, L):
 4     for j in range(1,a):
 5         if a%j == 0:
 6             L.append(j)
 7     return L
 8
 9 if __name__ == ‘__main__‘:
10     ProNumber = []
11     for i in range(2,1000):# 1不是完数,可以排除
12         A = []
13         FactorList = Factor(i, A)
14         if sum(FactorList) == i:
15             ProNumber.append(i)
16     print("1000以内总共有{}个完数,分别是".format(len(ProNumber)))
17     for index in range(0,len(ProNumber)):
18         print(ProNumber[index])

原文地址:https://www.cnblogs.com/xiang9286/p/9671391.html

时间: 2024-10-28 13:15:43

Python和Java编程题(一)的相关文章

Python和Java编程题(二)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21.... 题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html 观察规律,可以发现,自从第三个月开始,每个月的兔子总数为前两个月兔子总数之和. Java实现 1 public class TestRabbit {// TestRabbit

Python和Java编程题(五)

题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. 题目来源:http://blog.sina.com.cn/s/blog_60fafdda010

50道经典的JAVA编程题(目录)

50道经典的JAVA编程题(目录) 题目来源于:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html [程序1] TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... [程序2] FindPrimeNumber.java 题目:判断101-20

java编程题(一)

[程序1]    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数:    1"); System.out.println("第2个月的兔子对数:    1&q

Java编程题每日一练day1

Day1共7题 package com.pcx.day1; /** * 设一个字符数组,对其元音字母进行统计 * a e i o u * @author Administrator * */ public class YuanYin { ????public static void main(String[] args) { ????????char [] chars={'a','b','c','d','e'}; ????????int count=0; ????????for (int i =

java编程题 --分解质因数

package Solve; import java.util.Scanner; public class Solve { static Scanner scan = new Scanner(System.in); public static void main(String[] args) { System.out.println("请输入一个正整数:"); int num = scan.nextInt(); System.out.print(num + " = "

java编程题

import java.util.*;public class YearMonthDay{ public static void main(String[] args) throws Exception { int Day[]={31,28,31,30,31,30,31,30,31,30,31,30}; int y,m,d; int Thisday=0; int Feb=28; Scanner input = new Scanner(System.in); System.out.println(

java编程题 --鸡兔同笼

已知鸡和兔的总数量为n,总腿数为m.输入n和m,依次输出鸡的数目和兔的数目.如 果无解,则输出No answer. 样例输入: 14 32 样例输出: 12 2 样例输入: 10 16 样例输出: No answer package Solve; import java.util.Scanner; public class Solve { static Scanner scan = new Scanner(System.in); public static void main(String[]

最新JAVA编程题全集(50题及答案)

[程序1]??? 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少???? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数:??? 1"); System.out.println("第2个月的兔子对数:???