自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Hero习题打卡

题二:序列中不同最大公约数的数目(三星)思路:假设最大的数是maximum,总体思路就是遍历[1,maximum],检查每一个值x是否可能是一个序列的最大公约数。如何检查呢?显然,这个序列中的每一个数都是x的倍数,这是一个形如[1x,2x…nx] (nx<=maximum)的序列。但这只是必要条件,并不是充分条件。比如x=2,序列[4,6,8]的最大公约数是2,而序列[4,8]的最大公约数是4。我们发现,这个序列不仅是x的倍数,还可以是x的某个倍数的倍数。于此同时,我们知道最大公约数的一个重

2021-11-03 18:41:49 122 1

原创 Hero四因数

因子和题一:四因数题解:根据英雄哥的帖子可以看到;一个四因数只有两种情况,1.该数等于两个素数的积,2.某个素数的3次方;int isprime(int n){ int temp = sqrt(n + 1E-6); for (int i = 2; i <=temp; i++) { if (n % i == 0) return i; } return 0;}int sumFourDivisors(vector<int>& nums) {

2021-11-01 20:54:33 128 1

原创 Hero因子分解和枚举l

因子分解和枚举题一:n的第k个因子;思路:1.创建一个数组用于存储整数n的所有因子,然后返回k-1位的因子,如果没有k-1位则返回-1;2.对整数n进行遍历,为了减少遍历量,只遍历到根号n处。3.若只遍历到根号n 处那么大于根号n的因子将无法遍历到,我们可以通过遍历到的小于根号n 的因子来找的大于根号n 的因子;即如果i是n的因子那么n/i也是它的因子;且随着i的增大 n/i将减小;4.从3可以看出我们可以得到两个数组,分别是小于根号n的因子数组,从小到大排列; 另一个数组是大于根号n的因子

2021-10-30 12:02:51 94

原创 Hero算数基本定理

算数基本定理题一:完美数;思路:1.定义一个sum用来记录整数n的除自身外的因子的和;2.为减少遍历时间,遍历到的位置到根号n处即可,那么sum=sum+i + num / i;bool func(int n){ int sum = 0; int temp = sqrt(num); //边界条件:考虑到如果根号n恰为整数, if (temp * temp == num) sum += temp; //如果i<temp 可以试试6 这个完美数; for (int i

2021-10-29 21:38:22 96

原创 Hero素数筛选

素数筛选题一:计数素数;思路:1.根据题目,要找的小于n的所有素数,并统计他的数量,虽然可以通过for循环从零到n 统计,但是这种方式运算量太大,在数值较低的时候,遍历还算好用,但是当数据过大时,素数之间相隔的数太多了,也就是在这之间有太多不必要的遍历。2.根据英雄哥的笔记,可以看到采用的解决方案是用空间换时间;根据素数的定义,只有被1和本身所整除的数才能叫素数。那么一个素数的所有的倍数均不为素数,例如 一个素数2,那么在n前的所有偶数,均不是素数,因为他们都是2 的倍数;3.对于n前的每一个数

2021-10-29 20:26:37 70

原创 Hero素数判定

素数的判定题一:回文素数思路:1.优先找到大于n的回文数;利用string的to_str()将int类型变为string 方便回文的判定2.在对找到回文数进行素数判定3.大于八位没有素数,仅有100030001这一个。(参考的其他水友的。。。。。)#include<iostream>using namespace std;#include<string>#include"math.h"int func(int n){ if (n == 1) return

2021-10-28 20:50:07 88

原创 Hero算法练习

日期算法题一:一周中的第几天思路:创建一个月份数组,和两份月中日期数组分别为平闰年;创建一个string 数组存储星期数;已知有效日期为1971年开始。查询到1971年1月1号,是周五,而且周循环为7.那么找到当前日期距离1971年1月1号有多少天,用着天数除去7,查看余数。#include<iostream>#include<string>using namespace std;string func(int day,int month,int year){

2021-10-27 13:43:36 148

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除