c - 使用递归函数,找到一个使用加法运算符计算两个数字相乘的程序
问题描述
使用递归函数,找到一个使用加法运算符计算两个数字相乘的程序。
我发现如下:
/*C program to multiply two numbers using plus operator.*/
#include <stdio.h>
int main()
{
int a,b;
int mul,loop;
printf("Enter first number: ");
scanf("%d",&a);
printf("Enter second number: ");
scanf("%d",&b);
mul=0;
for(loop=1;loop<=b;loop++){
mul += a;
}
printf("Multiplication of %d and %d is: %d\n",a,b,mul);
return 0;
}
但是我不确定它是否使用递归函数,有人可以检查一下,如果它确实使用递归函数,那么告诉我如何做到这一点?
解决方案
这个简单的逻辑应该适合你:
int multiply(int a, int b)
{
if(a < b)
return multiply(b, a); // swap
else if(b != 0)
return (a + multiply(a, b - 1)); // recursion
else
return 0;
}
推荐阅读
- c - glUniformMatrix4fv - 无效操作
- java - 在 JavaFX 中添加/删除动画
- python - 无法在 Python 中仅用两个隐藏的神经元解决 XOR 问题
- javascript - Axios.get 调用多年作为价值
- mysql - 如何从连接表中获取最新日期
- c# - 使用 mvvm (C#) 在 wpf comboBox 中绑定集合
- javascript - 如何将原生 html5 录制音频的 float32Array 格式转换为 Google Speech-to-Text 服务的正确字节?
- mysql - “docker 容器运行”至少需要 1 个参数
- python - 在 Windows 上使用 pip 成功安装后 Python 导入 matplotlib 失败
- debugging - Intellij 没有在 tomcat 上正确部署