自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android Studio找不到符号方法startActivity

报错信息:Cannot resolve method ‘startActivity(android.content.Intent)’原因:当前类所继承的类没有上下文将startActivity(intent);改成view.getContext().startActivity(intent);就可以了

2022-04-09 12:50:41 4191 2

原创 Java 053. 组合选择

从 12345 这个数字中挑选出三个数共有十种方式:123, 124, 125, 134, 135, 145, 234, 235, 245, 345在组合学中,我们将其记为 C(5,3)=10。一般地:可以发现,n = 23 时产生第一个超过一百万的数:C(23,10)=1144066。那么,对于 1≤n≤100中有多少个 C(n,r)大于一百万(包括重复的在内)?答案:4075代码如下:public static BigInteger [][]C=new BigInteger[101][1

2022-03-08 11:24:29 393

原创 Java 050. 连续素数的和

素数 41 可以写成六个连续素数的和:41=2+3+5+7+11+13这是一百以下可以被写成连续素数的和中包含素数最多的。一千以下可以被写成连续素数的和,并且包含素数最多的素数是 953,这个和中包含 21 个素数。求一百万以下可以被写成包含最多的连续素数的和的素数。答案:997651代码如下:public static boolean isprime(int n){ for(int i=2;i*i<=n;i++) if(n%i==0) retur

2022-03-05 09:29:58 355

原创 Java 049. 素数排列

1487, 4817, 8147 这个序列,每个比前一个递增 3330,而且这个序列有两个特点:序列中的每个数都是质数。每个四位数都是其他数字的一种排列。没有一位、两位和三位素数组成的序列满足上面的性质,但是还有一组满足这个性质的四位数递增序列。这个序列的三个数前后拼接组成的十二位数是多少?答案:296962999629代码如下:public static boolean judge(int a,int b,int c){ String s1=Integer.toStrin

2022-03-04 17:00:15 229

原创 Java 048. 自身的幂

代码如下:public static String ten(){ BigInteger b=BigInteger.ZERO; for(int i=1;i<=1000;i++){ b=b.add(BigInteger.valueOf(i).pow(i)); } String s= b.toString(); String s1=s.substring(s.length()-10,s.length()); .

2022-03-04 16:16:19 126

原创 Java 047. 不同的质因数

不同的质因数第一个有两个不同质因数的两个相邻整数是:14=2×715=3×5第一个有三个不同质因数的三个相邻整数是:644=22×7×23645=3×5×43646=2×17×19找到第一个有四个不同质因数的四个相邻整数,求这四个整数中的第一个。答案:134043代码如下:public static int count(int n){ HashSet<Integer> prime=new HashSet<>(); for(in.

2022-03-04 16:01:45 236

原创 Java 046. 另一个哥德巴赫猜想

哥德巴赫曾经提出任何一个奇合数都可以被写成一个质数和一个平方数的两倍的和,如:代码如下:public static boolean isoris(int n){ for(int i=2;i*i<=n;i++) if(n%i==0) return true; return false; } public static int num(){ int t; for(int n=34;;n++){

2022-03-04 15:18:59 151

原创 Java 044. 五边形数

五边形数五边形数可以由公式生成:Pn=n(3n−1)/2,前十个五边形数如下:1, 5, 12, 22, 35, 51, 70, 92, 117, 145,…可以看出 P4+P7=22+70=92=P8。然而,这两个数的差 70−22=48 并不是五边形数。假设有一对五边形数 Pj 和 Pk,这两个数的和和差的绝对值都是五边形数,假设 D=|Pk−Pj|,求 D 的最小值。答案:5482660代码如下:public static Long five(){ HashSe.

2022-03-03 16:49:22 330

原创 Java 043. 子串可整除性

子串可整除性数字 1406357289 由 0 至 9 的各位数构成,因此是一个 0 至 9 的全数字,除此之外,它还有一个有趣的子串可整除性质。设 d1 表示第一位数,d2 表示第二位数等等,可以发现:求所有满足这个性质的 0 至 9 的全数字之和。答案:16695334890(满足条件的全数字有 6 个:1406357289, 1430952867, 1460357289, 4106357289, 4130952867,4160357289)代码如下:public static i.

2022-03-01 16:37:21 455

原创 Java 042. 统计三角形单词个数

统计三角形单词个数定义三角形数序列中第 n 项:tn=n(n+1)/2这样得到前十个三角形数是:1, 3, 6, 10, 15, 21, 28, 36, 45, 55, …把一个单词中每个字母在字母表中的位置值加起来('A’的位置值为 1,'Z’的位置值为 26),可以将一个单词转换为一个数。例如:单词 SKY 的值为 19 + 11 + 25 = 55 = t10 (其中’S’的位置值为 19,'K’的位置值为 11,'Y’的位置值为 25)如果单词的值是一个三角形数,则称该单词为三角形单.

2022-03-01 15:48:54 258

原创 Java 041. 最大的 n 位 pandigital 质数

最大的 n 位 pandigital 质数如果一个数字将 1 到 n 的每个数字都使用且只使用了一次,我们将其称其为一个 n 位的pandigital 数(也称为全数字)。例如,2143 是一个 4 位的 pandigital 数,并且是一个质数。求最大的 n 位 pandigital 质数是多少?答案:7652413代码如下:public static boolean isprime(int n){ for(int i=2;i*i<=n;i++) .

2022-03-01 14:41:45 313

原创 Java 040. 第 n 位小数

第 n 位小数将正整数连接起来可以得到一个无理小数:0.123456789101112131415161718192021…可以看出小数部分的第 12 位是 1。如果用 dn代表小数点后的第 n 位数,求以下表达式的值:d1×d10×d100×d1000×d10000×d100000×d1000000答案:210代码如下:public static int num(){ String s=""; for(int i=1;s.length()<=100000

2022-02-01 17:44:07 934

原创 Java 039. 整数直角三角形

整数直角三角形如果 p 是一个整数边{a,b,c}的直角三角形的周长,对于 p=120 仅有三个符合要求的解:{20,48,52},{24,45,51},{30,40,50}求使得符合要求的解的数量最大的 p 值,其中 p≤1000。答案:840代码如下:public static int num(int n){ int c,m=0; for(int a=1;a<n/2;a++){ for(int b=1;b<n/2;b++){

2022-02-01 17:17:30 531

原创 Java 038. 全数字乘积 II

全数字乘积 II用数字 192 分别乘以 1,2,3 可以得到:192×1=192192×2=384192×3=576把每个乘积前后相接,我们可以得到一个全数字 192384576。我们把 192384576 称为 192 和(1,2,3)的拼接乘积。类似的,我们可以用数字 9 乘以 1,2,3,4 和 5 得到全数字 918273645,它是 9 和(1,2,3,4,5)的拼接乘积。求用一个整数和(1,2,3⋯,n)形成的拼接乘积中最大的全数字,其中 n>1。答案:9327186

2022-02-01 15:22:29 373

原创 Java 037. 可截短素数

可截短素数数字 3797 有一个有趣的性质:它自己是一个素数,同时我们可以从左至右逐步截断这个数字,得到 3797,797,97 和 7,它们也都是素数。同样,我们也可以从右至左逐步截断这个数字,得到 3797,379,37 和 3 也都是素数。求仅有的十一个从左至右和从右至左都可以截短的素数之和(注:2,3,5 和 7 不被认为是可截短素数)。答案:748317思路:1、判断是否是素数 2、截断运用substringsubstring(int beginIndex):从索引beginInd

2022-02-01 14:31:03 758

原创 Java 036. 双基回文数

双基回文数十进制数 585 对应的二进制表示是 1001001001,这两个数字都是回文数,称 585 是一个双基回文数。求一百万以下所有双基回文数字之和。(注意回文数的首位都不能为零)答案:872187大致思路:写一个判断是否是回文数的函数,写一个将十进制数转化为二进制的函数代码如下:public static boolean douhws(int n){ int t=n; String s=""; while(t!=0){

2022-02-01 13:54:20 211

原创 Java 035. 圆形素数

035.圆形素数数字 197 是一个圆形素数,这是因为所有它各位数的轮换 197,971 以及 719 也都是素数。一百以下总共有十三个这样的素数,包括:2,3,5,7,11,13,17,31,37,71,73,79和 97。求一百万以下有多少个这样的圆形素数?答案:55思路:最大有六位数,自身加上其轮换后的情况一共有六种情况。写一个函数判断是否为素数。写一个函数判断是否是圆形素数。(用substring)代码如下:public static boolean prime(int n){

2022-01-28 15:16:42 354

原创 java 034. 数字阶乘

034 数字阶乘145 是一个好奇数,因为 1!+4!+5!=1+24+120=145,求所有这样的好奇数字之和。注:因为 1!=1 以及 2!=2 都不是和,所以不包括在内。答案:40730思路:先大致判断这个数的最大范围假设符合要求的数字 n 总共有 d 位,则 10(d−1)<n<10d由于该数字等于它各位数的阶乘之和,则各位数的阶乘之和最大只能为 d⋅9!,即 n<d⋅9!有上面两式可得:10^(d−1)<d⋅9!可以得到 d 最大为 7题目说 1!=1

2022-01-26 21:35:33 391

原创 Java 033. 非平凡的好奇分数

非平凡的好奇分数分数 49/98 是一个好奇分数:当一个菜鸟学生试图对其进行简化时,他可能会错误地可以认为通过将分子和分母上的 9 同时去除得到 49/98 = 4/8。但他得到的结果却是正确的。我们认为像 30/50 = 3/5 这样的分数是平凡的好奇分数,在这里不做考虑。只有四个非平凡的好奇分数,满足分数值小于 1,且分子分母都是两位数。将这四个非平凡的好奇分数相乘,并取其最简形式,求其分母的值。答案:100相关思路:用数组存储分子分母,写一个求最大公约数的函数代码如下:privat

2022-01-26 21:06:27 284

原创 Java 032. 全数字乘积

全数字乘积如果一个 n 位数使用了 1 到 n 中每个数字且只使用了一次,我们称其为全数字。例如,15234 这个五位数,是 1 到 5 全数字的。7254 是一个不寻常的数,因为:39 × 186 = 7254 这个算式的乘数,被乘数和乘积组成了一个 1 到 9 的全数字组合。找出所有能够组合成 1 到 9 全数字的乘法算式中乘积的和。提示: 有的乘积数字能够被多个乘法算式得到,所以在计算时要记得只计算它们一次。答案:45228可能的情况:一位乘以四位等于四位,二位乘以三位等于四位代码如

2022-01-22 20:53:24 405

原创 Java 031. 货币面值的组合问题

031.货币面值的组合问题在英国,货币是由英镑 £,便士 p 构成的。一共有八种钱币在流通:1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) 和 £2 (200p).要构造 £2 可以用如下方法:1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p允许使用任意数目的钱币,一共有多少种构造 £2 的方法?答案:73682代码如下:static int m=200; static int[]a=new int[]{1,2,5,10,20

2022-01-22 19:19:15 392

原创 Java 030. 数字五次幂

030 数字五次幂奇怪的是,只有三个数字可以被写成它们各位数的四次方之和:注:对于 1=14由于并不是一个和,所以不包括在内。上面三个数的和 1634+8208+9474=19316找出所有能被写成各位数字五次方之和的数之和。答案:443839代码如下:public static int sum(int n){ int t=0; for(int i=2;i<=1000000;i++){ if(pow(i,n)) t+=i;

2022-01-21 16:02:42 412

原创 Java 029. 独特的幂

029.独特的幂对于 2≤a≤5 和 2≤b≤5,考虑所有的整数 a 和 b 的组合 ab,如下:如果把上面的结果按照数字顺序从小到大排列并去掉所有重复的数字,我们可以得到以下有15 个不同数字的序列:4,8,9,16,25,27,32,64,81,125,243,256,625,1024,3125求对于 2≤a≤100 和 2≤b≤100,ab会产生的序列中的有多少个不同的数字?答案:9183思路:TreeSet:默认升序,不重复(被称为红黑树,是一种自平衡二叉树)代码如下:pu

2022-01-21 15:53:12 246

原创 Java 028. 数字螺旋的对角线

28.数字螺旋的对角线从 1 开始按顺时针方向向右移动并加一,形成的五乘五的数字螺旋如下:可以验证对角线上的红色数字之和为 101。对于一个 1001 乘以 1001 的同样的数字螺旋,其对角线上的值的和是多少?答案:669171001代码如下:public static long sum(int n){ int m=1,t=2; long s=1; for(int i=3;i<=1001;i=i+2){ for(int j

2022-01-21 15:32:35 249

原创 Java 027. 二次质数

二次质数欧拉发现了著名的二次公式:n2n + 41,发现这个公式可以对于 0≤n≤39 的整数可以连续产生四十个素数。但是,当 n=40,40240 + 41 = 40(40+1)+41 可以被 41 整除;当 n=41,41241 + 41 显然也可以被 41 整除。另外一个著名公式是 n2 − 79n + 1601,可以对 0≤n≤79 的整数连续产生 80 个素数,这个公式的两个系数−79 和 1601 的乘积是−126479。考虑如下二次公式:n2an + b |a|

2022-01-21 15:15:25 272

原创 Java 026. 倒数周期

026 倒数周期一个单位分数就是分子为 1 的分数,分子从 2 到 10 的单位分数的小数表示分别如下:1/2 = 0.51/3 = 0.(3)1/4 = 0.251/5 = 0.21/6 = 0.1(6)1/7 = 0.(142857)1/8 = 0.1251/9 = 0.(1)1/10 = 0.1其中 0.1(6)的意思是 0.166666⋯,它的循环节长度是一位, 1/7 的循环节长度是六位。对于 d<1000,求使得 1/d 包含的循环节长度最长的 d 的值。答案:9

2022-01-21 14:40:45 106

原创 Java 025. 一千位斐波那契数

025.一千位斐波那契数斐波那契数列定义如下:Fn=Fn−1+Fn−2,其中 F1=1,F2=1前 12 个斐波那契数分别为:1,1,2,3,5,8,13,21,34,55,89,144。其中第 12 个是第一个包含三位数的斐波那契数。求斐波那契数列中第一个包含 1000 位数字的项是第几项?答案:4782思路:数值过大,故用BigInteger做代码如下: public static int fbnq(int n){ BigInteger[] big1=new BigInt

2022-01-20 14:25:17 281

原创 Java 024. 字典排列

字典排列一个排列是某些对象的有序组合,例如,3124 就是数字 1,2,3,4 的一种可能排列。如果所有的排列按照数值或者字母序排序,我们称其为一个字典序。0, 1, 2 的字典排列有:012 021 102 120 201 210。从 0 到 9 的所有数字构成的字典排列中,第一百万个数字是多少?代码如下:static int[]a=new int[10];//阶乘 static int[]b=new int[10];//存储数字 static int[]c=new int[1

2022-01-19 23:34:25 310

原创 Java 023. 非过剩数之和

023 非过剩数之和如果一个数的所有真因子之和等于该数自身,那么这个数被称为完全数。如果一个数的所有真因子之和小于该数自身,称其为不足数,如果大于该数自身,称其为过剩数。例如:28 是一个完全数,因为 28 的所有真因子之和为 1 + 2 + 4 + 7 + 14 = 2812 是一个过剩数,因为 12 的所有真因子之和为 1 + 2 + 3 + 4 + 6 = 16 > 12 自身可以发现 12 是最小的过剩数,而 24 是最小的可以写为两个过剩数之和的数。通过数学分析可以证明,所有

2022-01-19 21:29:43 124

原创 Java 022. 姓名分值

文件 names.txt 是一个 46K 大小的文本文件,包含 5000 多个英文名字。利用这个文件,首先将文件中的名字按照字母排序,然后计算每个名字的字母值,最后将字母值与这个名字在名字列表中的位置相乘,得到这个名字的得分。例如:将名字列表按照字母排序后, COLIN 这个名字是列表中的第 938 个,它的字母值是3 + 15 + 12 + 9 + 14 = 53。所以 COLIN 这个名字的得分就是 938 × 53 = 49714计算:文件中所有名字的得分总和是多少?答案:8711982

2022-01-19 17:43:48 242

原创 Java 021. 亲和数

亲和数令 d(n)表示自然数 n 所有真因子(除开数 n 身的所有因子)的和,如果 d(a)=b 且 d(b)=a,其中 a≠b,那么 a 与 b 便为亲和数对,其中的每个数称为亲和数。例如:220 的真因子为 1, 2, 4, 5, 10, 11, 20, 22, 44, 55,110,所以 d(220)=284284 的真因子为 1,2, 4, 71、142,所以 d(284)=220,因此 220、284 为亲和数。求 10000 以下所有亲和数的和。答案:31626思路:1.求出一个

2022-01-19 17:06:35 443

原创 Java 020. 阶乘各位数的和

阶乘各位数的和n! = n × (n - 1) × … × 3 × 2 × 1例如, 10! = 10 × 9 × … × 3 × 2 × 1 = 3628800,那么 10! 的各位之和就是 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.算出 100! 的各位之和。答案:648思路:由于数值过大,用BigInteger做代码如下: public static int sum(int n){ BigInteger big=new BigInteger("1")

2022-01-18 21:03:12 179

原创 Java 019. 计算星期天的数量

以下是一些已知信息,但是或许你需要自己做一些其他的调查。⚫ 1900 年 1 月 1 日是星期一。⚫ 30 天的月份有:9 月,4 月,6 月,1 1 月。⚫ 此外的月份都是 31 天,当然 2 月除外。⚫ 2 月在闰年有 29 天,其他时候有 28 天。⚫ 年份可以被 4 整除的是闰年,但是不能 400 整除的世纪年(100 的整数倍年)除外。求:20 世纪(1901 年 1 月 1 日到 2000 年 12 月 31 日)一共有多少个星期日落在了当月的第一天?答案:171思路:通过题中

2022-01-18 20:45:44 268

原创 Java 018. 最大和的路径 I

最大和的路径 I从以下这个三角形的顶部开始,向相邻的下一行的数字移动,经过之数所能得到的最大的和为 23,即:3+7+4+9=23找出从以下三角形的顶端走到底端的最大总和。答案:1074代码:private static int[][] triangle = { // Mutable {75}, {95,64}, {17,47,82}, {18,35,87,10}, {20

2022-01-18 19:02:16 184

原创 java 017.数词字母数量

数词字母数量如果用英文写出数字 1 到 5: one, two, three, four, five, 那么一共需要3 + 3 + 5 + 4 + 4 = 19 个字母。如果数字 1 到 1000(包含 1000)用英文写出,那么一共需要多少个字母?注意: 空格和连字符不算在内。例如,342 (three hundred and forty-two)包含 23 个字母; 115 (one hundred and fifteen)包含 20 个字母。“and” 的使用与英国标准一致答案:2112.

2022-01-17 22:41:25 207

原创 用递归写猴子吃桃问题

int monkey(int k){if(k==1)return 1;elsereturn 2*(monkey(k-1)+1);}

2021-01-03 22:44:30 216

原创 判断回文数

int palindrome(int n){int t=n,s=0;while(t){s=s*10+t%10;t/=10;}return s==n;}

2021-01-03 22:39:08 76

原创 用递归函数写二分查找

在已按照字典顺序排序的字符串数组中查找int bs(char str[][N],char key[],int low,int high){int mid,cmp;if(low>high)return -1;mid=(low+high)/2;cmp=strcmp(key,str[mid]);if(cmp==0)return mid;else if(cmp<0)return bs(str,key,low,mid-1);elsereturn bs(str,key,mid+1,

2021-01-03 22:34:28 92

原创 用for循环写斐波那契数列

用for循环写斐波那契数列#include<stdio.h>int main(){long f1=1,f2=1;int i;for(i=1;i<=20;i++){printf("%-12d%-12d",f1,f2);if(i%2==0) printf("\n");f1=f1+f2;f1=f1+f2;}return 0;}

2021-01-03 22:21:18 3302 1

原创 c语言规定scanf实型数据不能规定小数点后面位数, 故scanf(“%6.2f“,&a)错误。

c语言规定scanf实型数据不能规定小数点后面位数,故scanf("%6.2f",&a)错误。

2021-01-03 22:13:17 5224

空空如也

空空如也

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

TA关注的人

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