`

面试题求1到100w中的完数

阅读更多
 一个数如果恰好等于除它本身外的因子之和,这个数就称为"完数",也叫“完美数”。例如6=1+2+3.(6的因子是1,2,3)

package com.zhao.test;

//不知性质做
public class WanShu {

	//limit 在10000之内就ok
	//        100000就用23秒
	public void getResult(int limit)
	{
		long begin = System.currentTimeMillis();
		for(int i=1;i<=limit;i++)
		{
			if(isWanShu(i))
			System.out.println(i);
		}
		long end = System.currentTimeMillis();
		long time = end-begin;
		System.out.println("time is:"+time);
	}
	
	//是完数
	public boolean isWanShu(int num)
	{
		//判断条件
		if(num==getTotal(num))
			return true;
		return false;

	}
	
	//求所有积因子的和
	public int getTotal(int num)
	{
		int sum = 0;
		for(int i=1;i<=num/2;i++)
		{
			if(num%i==0)
				sum +=i;
		}
		return sum;
	}
	
	public static void main(String[] args) {
		
		WanShu wanshu = new WanShu();
		wanshu.getResult(100000);

	}

}



package com.zhao.test;

import java.util.ArrayList;

//知道性质做long类型用尽也不用时间
public class CountTest {

	//是素数
	public boolean isShuShu(long num)
	{
		for(long i=2;i<num;i++)
		{
			if(num%i==0)
			return false;
		}
		return true;
	}
	
	//求完数,参数为一质数
	//公式wanshu = 2^(n-1)*(2^n-1) n为质数
	//质数的一性质 p为质数时,2^p-1为质数
	public long getWanShu(long shushu)
	{
		long result = (long) (Math.pow(2, shushu-1)*(Math.pow(2, shushu-1)));
		return result;
	}
	
	public void getResult(long limit)
	{
		long begin = System.currentTimeMillis();
		long range = (long) Math.sqrt(limit);
		for(long i=2;i<=range;i++)
		{
			long wanshu=0;
			if(isShuShu(i))
			{
				wanshu=getWanShu(i);
				if(wanshu<=limit)
				{
					System.out.println(wanshu);
				}
				else
				{
					break;
				}
			}
		}
		
		long end = System.currentTimeMillis();
		long time = end-begin;
		System.out.println("time is:"+time);
	}
	
	public static void main(String[] args) {
		
		CountTest ct = new CountTest();
		ct.getResult(1000000000000000000l);
	}

}


面试题真的太无谓了,好像是在考数学题一般.
分享到:
评论

相关推荐

    牛客大数据面试题集锦+答案,共523道,46W+字。大厂必备

    Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题:36道 Spark面试题:97道 Flink面试题:40道 数仓面试题:25道 综合面试题:43道 数据库(MySQL)...

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 Spring面试题 Spring Boot面试题 Spring Cloud面试题...

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云

    云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备云计算面试题之ELK面试题,运维工程师必备...

    java面试题,J2EE面试题 笔试题

    1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、java面试题及答案 9、java面试题编程篇 10、Oracle面试...

    2023最新100道MySQL面试题( 附答案解析)

    2023最新100道MySQL面试题( 附答案解析)2023最新100道MySQL面试题( 附答案解析)2023最新100道MySQL面试题( 附答案解析)2023最新100道MySQL面试题( 附答案解析) 2023最新100道MySQL面试题( 附答案解析) ...

    2023最新JAVA面试题集

    大数据面试题 100道 多线程面试59题(含答案) 最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 35道 BTA 常问的 Java基础39道常见面试题及详细答案 Dubbo面试题 47道 ElasticSearch...

    最新各大公司企业真实面试题-Java面试题

    "Java 面试题及其答案.doc"和"JAVA面试题.doc"提供了大量的面试题及解答,涵盖了从基础知识到高级特性的广泛范围,包括反射、注解、设计模式、Spring框架、数据库操作等。通过这些题目,求职者可以自我评估,了解...

    2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题

    2022java面试题、JVM面试题、多线程面试题、并发编程、Redis面试题、MySQL面试题、Java2022面试题、Netty面试题、Elasticsearch面试题、Tomcat面试题、Dubbo面试题、Kafka面试题、Linux面试题、2021面试题、java面试...

    个人面试题总结(java,数据库,前端).zip

    文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...

    (完整版)运维面试题(含答案).pdf

    (完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...

    程序员面试题精选100题-何海涛

    因此,《程序员面试题精选100题》的出现,为求职者提供了宝贵的准备材料,有助于他们深入了解面试流程和技术要求,从而在面试中脱颖而出。 ### 技术面试题的解析 资料中包含的面试题覆盖了广泛的IT技术和算法知识...

    牛客大数据面试题集锦+答案,共523道,46W+字 面试题总结一网打尽

    Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题:36道 Spark面试题:97道 Flink面试题:40道 数仓面试题:25道 综合面试题:43道 数据库(MySQL)...

    【BAT必备】zookeeper面试题

    【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    java面试题10年汇总2011年1月12日更新

    java面试题10年汇总2011年1月12日更新.rarjava面试题10年汇总2011年1月12日更新.rarjava面试题10年汇总2011年1月12日更新.rarjava面试题10年汇总2011年1月12日更新.rarjava面试题10年汇总2011年1月12日更新.rarjava...

    模拟IC面试题analog面试题.doc

    在这个模拟IC面试题中,我们可以总结出以下几个重要的知识点: 1. Op-Amp 结构比较 在这个问题中,我们需要比较三种不同的 Op-Amp 结构:2-stage op-amp (active load, class-A output stage)、telescopic op-amp ...

    前端面试题:前端框架面试题大全

    前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; ...

    【BAT必备】dubbo面试题

    【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题【BAT必备】dubbo面试题...

    java面试题(100道)

    以下是对这100道Java面试题可能涉及的知识点的详细解读: 1. **基础语法**:面试题可能会考察Java的基础特性,如数据类型、变量、运算符、流程控制语句(if、switch、for、while等)、方法定义与调用、类与对象的...

    最全的IT公司面试题集 CHM版的

    Java面试题,J2EE面试题,.net面试题,PHP面试题,数据库面试题,英语面试,外企面试,软件测试面试题,Python面试题,Oracle面试题,MySql面试题,Web开发面试题,Unix面试题,程序员面试,网络技术面试题,网络安全面试题,Linux...

Global site tag (gtag.js) - Google Analytics