力扣练习
Light丶Long
真正的大师永远都怀有一颗学徒的心
展开
-
把数字翻译成字符串
给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。原创 2023-02-09 15:22:01 · 193 阅读 · 0 评论 -
1. 写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1
题目:写一个函数返回参数二进制中 1 的个数比如: 15 0000 1111 4 个 1程序原型:int count_one_bits(unsigned int value){// 返回 1的位数}题目解析:整型int 在内存单元中所占用的内存为4字节即32比特位,要判断一个2进制数有多少个位数为1,则需要判断32次,首先可构建出一个for循环来实现这一过程。...原创 2019-03-29 11:44:54 · 200 阅读 · 0 评论 -
在屏幕上打印杨辉三角。 1 1 1 1 2 1 1 3 3 1
题目:在屏幕上打印杨辉三角。11 11 2 11 3 3 1题目分析:二维数组的运用,定义一个二维数组,用来保存所存储的数值,所发现的规律就是下一行的除了第一个和最后一个数都是1之外,其他的数例如a[i][j]=a[i-1][j-1]+a[i-1][j];由此可得杨辉三角。具体实现如下:代码如下:#include <stdio.h>#inc...原创 2019-04-01 20:55:38 · 2269 阅读 · 0 评论 -
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说
题目:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。题目分析:先将每个人所说的话转换为对应的字符表示,然后已知三个人在说真话,一个人说假话,所以4人所讲的话的逻辑值相加应该...原创 2019-03-31 21:11:21 · 476 阅读 · 0 评论 -
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
题目:5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。题目分析:首先定义5个变量来对应5个运动员。通过循环来完成每个运动员有可能的所有名次;而且每个人所说的话只有一句是...原创 2019-03-31 20:10:59 · 536 阅读 · 0 评论 -
只允许遍历一次,找出只出现了一次的数
题目:只允许遍历一次,找出只出现了一次的数题目分析:只允许遍历一次,所以这里用到位操作,当两个相同的数字异或时,返回值为0,所以经过一系列的异或后,返回值为只出现了一次的那个数。代码如下:public class TestDome1 { public static void main(String[] args) { int[] array = new...原创 2019-04-04 22:54:13 · 478 阅读 · 0 评论 -
不使用除法来做(a+b)/2
题目:不使用除法来做(a+b)/2题目分析:在不使用除法来做两数的除法时,而且是除以2,所以首先想到的就是数据的右移,右移就是使整数缩小一半,但是这里要考虑两数相除得到的不一定都是整数,所以要按情况来补所缺失的0.5.代码如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h&g...原创 2019-04-03 22:29:03 · 436 阅读 · 0 评论 -
不使用加法来做加法运算
题目:不使用加法运算来做加法题目分析:不使用加法来做加法,想到的就是位运算,再调用递归来完成这项任务。偶尔看到的一道有趣的题。代码如下://不用加法来做加法运算#include <stdio.h>#include <stdlib.h>void move(int a, int b){ printf("a = %d\t", a); print...原创 2019-04-03 22:23:05 · 490 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字, 例如:2+22+222+2222+22222
题目:求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222题目分析:根据此题的规律,分两部分来完成,第一部分获得这类数字的每一个数字,第二部分则是将取得的数加起来,所以定义两个变量来分别完成各个部分。这里用到库函数pow()求次方操作。例如:求5的2次方,可写成pow(5,2),中间用逗号分开。具体实现如下。...原创 2019-03-29 17:12:28 · 1031 阅读 · 0 评论 -
求出0~999之间的所有“水仙花数”并输出。 “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
题目:求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。题目分析:首先如题水仙花数是一个三位数,所以循环范围缩小至100到1000,通过除和操作来获取一个数字的每一位是多少,然后再通过库函数pow()完成次方的操作。注意:( ^ 这个符号并不是代表次方,它是位操作中的...原创 2019-03-29 17:04:49 · 677 阅读 · 0 评论 -
编写一个程序,可以一直接收键盘字符, 如果是小写字符就输出对应的大写字符, 如果接收的是大写字符,就输出对应的小写字符, 如果是数字不输出。
题目:编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。题目分析:之前完成一个同名类型程序,只能判断一个字符,这个程序可以判断一个字符串。完成这个题目需要用到两个函数,putchar()和getchar(),从键盘输出字符和从键盘获取字符两个函数,熟悉这两个函数之后,其他就比较好实现了...原创 2019-03-29 16:56:40 · 517 阅读 · 0 评论 -
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
题目:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2299输出例子:7题目分析:首先,这是两个整型数字在进行比较,所以他们的比较次数应该为32次。(int 占用4字节),所以首先确定一个for循环来实现32次的比较。然后,应该判断该数字的32位数字中的每一位的值是多少,这个操作可以使用与 1的按位与来实现判断,当两个数字...原创 2019-03-29 16:43:58 · 230 阅读 · 0 评论 -
获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
题目:获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。题目分析:获取一个数的二进制序列,就是需要获取这个整数的32位的每一位数值,将他们存起来,然后再找出其对应的奇数位和偶数位。首先定义一个数组来存储获取的所有数字,通过循环达到32次判断,然后再过按位与1的操作来判断当前位置的数是1还是0,将获得的数字存储在数组中,然后再分奇偶数输出。代码如下:...原创 2019-03-29 16:34:40 · 452 阅读 · 0 评论 -
输出100-200之间的素数
题解:此题主要考察对循环的使用,首先用循环产生100~200之间的数,再逐个判断是否为素数,判断方法为从2开始直到这个数的前一个都不能被这个数整除,则这个数为素数,代码如下:(运行环境为VS2013)//100-200之间的素数#include <stdio.h>#include <stdlib.h>int main(){ int i = 0; ...原创 2019-03-25 17:21:12 · 1370 阅读 · 0 评论 -
创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
题目:创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。要求:自己设计函数的参数,返回值。思路:此题考查的是对函数调用的实现,注意初始化函数为给函数赋予初值,而清空函数则是直接给数组赋值为0;逆置函数则是将输入的数字反过来输出在屏幕上,所以综合来说比较简单,可以做一个菜单来提示用户可选择的操作,再实现具体的操作。...原创 2019-03-25 17:13:01 · 248 阅读 · 0 评论 -
实现一个函数,判断一个数是不是素数。
实现一个函数,判断一个数是不是素数。题解:素数是表示一个数只能被自己和1所整除的正整数,不包括1,0更不是素数,根据他的定义可以判断条件,使用循环来达到多次判断,理解更加深刻即可发现,判断条件可优化为2到根号下X(表示所要判断的数)即可。代码如下:(C语言运行与VS2013)#define _CRT_SECURE_NO_WARNINGS#include <stdio.h&g...原创 2019-03-25 16:57:47 · 2776 阅读 · 0 评论 -
实现一个函数判断year是不是润年。
题目:实现一个函数判断year是不是润年。编程语言为C语言,环境为VS2013代码如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>int Judge(int *year){ if (*year % ...原创 2019-03-25 16:29:13 · 379 阅读 · 0 评论 -
使用函数实现两个数的交换。
题目:使用函数实现两个数的交换。C语言代码 编译环境为VS2013#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>void Exchange(int *a, int *b){ int temp = 0;...原创 2019-03-25 16:27:24 · 456 阅读 · 0 评论