using namespace std;
/*
循环:
控制结构,重复功能
迭代
操作,使用循环 对某个数据结构重复进行某种操作,直到满足条件或者,结束为止。
递推
算法,通过已知条件,逐层推导,直到找到某个答案
递归
算法,通过函数自调用的方式实现循环的效果,以及将大问题分解成一个个相同或者类似的小问题,直到找到满足的条件,
根据问题找条件。
int sums1(int n){
int sum =0;
while (n>=0){
sum += n;
n--;
}
return sum;
}
int sums2( int n){
if (n<=0) return 0;
int a =n;
int sums =a+sums2(--n)
return sums;
}
题目描述
有一堆100多个的零件,
若三个三个数,剩二个;
若五个五个数,剩三个;
若七个七个数,剩五个。
请你编一个程序计算出这堆零件至少是多少个?
累加求和
int productsNumber(int n){
if (n%3==2 && n%5==3 && n%7==5) return n;
return productsNumber(++n);
}
int includeThree(int n, int nums){
//终点
if (n>=1000) return nums;
int t = n;
while (t!=0){
if(t%10==3){
nums++;
break;
}
t /= 10;
}
return includeThree(++n, nums);
}
*/
int integersNumber(int n,int m){
if (n==1) return m;
if (n%3==2 && n%5==3 && n%7==2) m++;
return integersNumber(--n,m);
}
int main() {
int n;
cin>>n;
//起点
cout<<integersNumber(n,0);
return 0;
}