【Leetcode】面试题 08.05. 递归乘法、HJ55 挑7

news/2024/7/7 22:32:19

 作者:小卢 

专栏:《Leetcode》

喜欢的话:世间因为少年的挺身而出,而更加瑰丽。                                  ——《人民日报》


目录

面试题 08.05. 递归乘法 

HJ55 挑7


面试题 08.05. 递归乘法 

面试题 08.05. 递归乘法

题目描述:

递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。

示例:


思路:

本题要求我们用递归函数完成,但其实你用循环可以通过,我们来讲讲递归的思路,我们让每次函数调用时,B-1,当B=0时,也就是递归到底了,我们让他返回,因为我们是乘法嘛,我们就让每次返回的时候+A,这样就加了B个A了相当于A*B了。

代码:

int multiply(int A, int B){

    if(B>0)
    return multiply(A,B-1)+A;
    return 0;
}

HJ55 挑7

挑7_牛客题霸_牛客网

题目描述:

描述

输出 1到n之间 的与 7 有关数字的个数。

一个数与7有关是指这个数是 7 的倍数,或者是包含 7 的数字(如 17 ,27 ,37 ... 70 ,71 ,72 ,73...)数据范围: 1≤n≤30000 

输入描述:

一个正整数 n 。( n 不大于 30000 )

输出描述:

一个整数,表示1到n之间的与7有关的数字个数。

 示例:


思路:

我们先让i找可以被7整除,再找每个数每个位是否有7.

代码:

#include <stdio.h>
int seven(int n)
{
    while(n)
    {
        if(n<10&&n!=7)
        return 0;
        if(n%10==7)
        return 1;
        n/=10;
    }
    return 0;
}
int main() {
    int n;
    int num=0;//num个数
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        if(i%7==0)//i要从开始,不然0%7=0
        num++;
        else
        num+=seven(i);
    }
    printf("%d",num);
    return 0;
}


http://lihuaxi.xjx100.cn/news/821431.html

相关文章

【LeetCode每日一题】【2023/2/6】2331. 计算布尔二叉树的值

文章目录2331. 计算布尔二叉树的值方法1&#xff1a;递归2331. 计算布尔二叉树的值 LeetCode: 2331. 计算布尔二叉树的值 简单\color{#00AF9B}{简单}简单 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a; 叶子节点 要么值为 0 要么值为 1 &#xff0c;其中…

[ 2204阅读 ] 真题 - 6

Part 3 真题 Passage The Rise of Florence Paragraph 1 In the Central Middle Ages, starting around 1000 A.D., a number of northern Italian cities, including Venice and Genoa, rode a wave of economic and population growth that saw them become among the most…

【成为架构师课程系列】性能优化技术之“池化技术”:如何减少频繁创建数据库连接的性能损耗?

池化技术:如何减少频繁创建数据库连接的性能损耗? tcpdump 抓包工具 在前面几节课程中,我从宏观的角度带你了解了高并发系统设计的基础知识,你已经知晓了,我们系统设计的目的是为了获得更好的性能、更高的可用性,以及更强的系统扩展能力。 那么从这一讲开始,我们正式…

0基础使用Vite+Vue3创建项目

什么是 Vue&#xff1f; Vue是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0c;Vue 都可以胜任。 声明式…

Java网络编程原理及应用

Java网络编程网络编程概述Socket简介底层数据结构TCP可靠性传输三次握手四次挥手TCP编程UDPUDP编程网络编程概述 网络编程是指在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;可以进行数据的传输与交互。 网络编程三要素&#xff1a; 要素说明IP地址网络设备…

C# 基础知识(一)_简介及开发环境

目录 C# 基础知识(一)_简介及开发环境 C#简介 C# 之所以能称为一门被广泛应用的编程语言&#xff0c;原因有以下几点 C# 强大的编程功能 C# 开发环境 名词解释&#xff08;一定要清楚&#xff0c;否则名称乱糟糟的&#xff09; IDE C# 基础知识(一)_简介及开发环境 C#简介…

Codeforces Round #850(div1.div2)

Problem - A1 - Codeforces Non-alternating Deck (easy version) 思路&#xff1a; 我们可以发现每次交换玩家发牌数增加 4 &#xff0c;那么我们用一个变量 f 来标记当前应该给谁发牌。每次发 i 张牌就从牌堆减去 i 。最后剩下的 n 张牌再判断 f 发牌即可。 参考代码&#…

深度学习Week14-yolov5s.yaml文件解读(YOLOv5)

这周接着详细解析小白YOLOv5全流程-训练实现数字识别_牛大了2022的博客-CSDN博客_yolov5识别数字&#xff0c;上周入门教大家下载配置环境&#xff0c;如果没有的话请参考上一篇的文章深度学习Week12-训练自己的数据集&#xff08;YOLOv5&#xff09;_牛大了2022的博客-CSDN博客…