递归寻找第n位数字

编写递归函数digit(n,j),返回整数n的从右边开始的第j位数字

首先来看非递归法,只需用n/(10^(j-1))%10即可

cpp 复制代码
#include<stdio.h>
//编写递归函数digit(n,j),返回整数n的从右边开始的第j位数字 
int digit(int n,int j)
{
	int i,s=1,result;
	for(i=0;i<j-1;i++)
	{
		s*=10;
	}
	result=(n/s)%10;
	return result;
}
int main()
{
	int x,y;
	printf("请输入n和j的值:");
	scanf("%d%d",&x,&y);
	int rev=digit(x,y);
	printf("%d",rev);
	return 0;
}

递归方法

cpp 复制代码
int digit(int n,int j)
{
	if(j==1)
	{
		return n%10;
	}
	return digit(n/10,j-1);
}
int main()
{
	int x,y;
	printf("请输入n和j的值:");
	scanf("%d%d",&x,&y);
	int rev=digit(x,y);
	printf("%d",rev);
	return 0;
}
相关推荐
xiaolang_8616_wjl9 小时前
c++超级细致的基本框架
开发语言·数据结构·c++·算法
LYFlied10 小时前
【每日算法】LeetCode124. 二叉树中的最大路径和
数据结构·算法·leetcode·面试·职场和发展
yyy(十一月限定版)11 小时前
c语言——栈和队列
java·开发语言·数据结构
xu_yule12 小时前
算法基础-背包问题(01背包问题)
数据结构·c++·算法·01背包
蒙奇D索大12 小时前
【数据结构】考研408 | 伪随机探测与双重散列精讲:散列的艺术与均衡之道
数据结构·笔记·学习·考研
budingxiaomoli12 小时前
分治算法-快排
数据结构·算法
dragoooon3413 小时前
[C++——lesson30.数据结构进阶——「红黑树」]
开发语言·数据结构·c++
蓝色汪洋14 小时前
数码串和oj
数据结构·算法
山楂树の15 小时前
有效的括号(栈)
数据结构·算法
im_AMBER15 小时前
Leetcode 81 【滑动窗口(定长)】
数据结构·笔记·学习·算法·leetcode