调用递归方法前加return 不写return 程序还会继续运行
if(num2!= 0) {
return divide(num1,num2);
}else{
return num1;
}
1000以内 完数
#include <stdio.h>
#include <conio.h>
void main()
{
int m,i,s;
for(m=1;m<=1000;m++) //从1开始到1000循环结束
{
s=0;//初始化因子之和s为0
for(i=1;i<m;i++) //寻找在1到m之间,有多少m的因子
if(m%i==0) //如果m能整除i,则i为m的因子
s=s+i;//将因子累加
if(s==m) //如果因子之和等于这个数
printf("%d\t",s);//输出
}
getch();
}
递归算法求两个数的最小公倍数
递归算法求两个数的最小公倍数 (明明可以不用递归 你偏要递归)
#include<stdio.h>
int divide(int num1, int num2);
int main(){
int x=15,y=7;
int c=0;
c=x*y/divide(x,y);
printf("%d\n",c);
return 0;
}
int divide(int num1, int num2) {
int r; //r表示两个数的余数
...