c,c++易错点总结之递归,循环
2014-05-22 10:50
302 查看
递归算法应该包括两种情况:递归情况和基底情况。递归情况演变到最后必须答到一个基底,否则出错。
开根号方法求素数
典型的递归问题
(1)、求阶乘
#include<iostream> using namespace std; int find (int n){ if(n == 1){ return 1; } return find(n-1)*n; } int main(){ int n ; cin>>n; int t = find(n); cout<<t; }
(2)斐波拉契数列的通项
#include<iostream> using namespace std; int find (int n){ if(n == 1|| n ==2){ return 1; } return find(n-1)+find(n-2); } int main(){ int n ; cin>>n; int t = find(n); cout<<t; }
典型的循环问题
(1)筛法求素数#include<iostream> using namespace std; int main(){ int a[101],i,j; for(i=1;i<101;i++){ a[i] = 1; } for(i=2;i<101;i++){ if(a[i]!=0){ for(j=i+i;j<101;j = j+i){ if(a[j]==0) continue; if(j%i==0){ a[j] = 0; } } } } for(i=2;i<101;i++){ if(a[i]!=0){ cout<<i<<" "; } } return 0; }
开根号方法求素数
#include<iostream> #include<cmath> using namespace std; int main(){ int i,j ,a[101]; for(i=2;i<101;i++){ for(j=2;j<=sqrt(i);j++){ if(i%j==0){ break; } } if(j>sqrt(i)){ cout<<i<<" "; } } }
相关文章推荐
- google竞赛题SecretSum的另一种C++解法, 使用递归生成代替循环 -- 2
- 初学者看过来:简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系。
- 第一讲 递归与循环[总结]
- C++基础知识易错点总结(2)
- C++基础知识易错点总结(1)
- 初学者看过来:简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系。
- 二分查找模板总结(递归与循环遍历两个版本)
- c++2(循环和递归)
- 【C++】二叉树的创建方法及其遍历的递归与非递归方法总结
- c++学习之前序递归遍历二叉树和中序循环遍历二叉树
- 简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系。
- C/C++易错点 总结
- 总结近期循环递归般的焦虑
- C++ 链表的递归逆转和循环逆转
- c++学习之前序递归遍历二叉树和中序循环遍历二叉树
- 第02章 CORE C++_控制语句_选择_循环_分支_跳出_函数_声明_形参_返回值_重载_递归
- C++易错点总结
- C++实现二叉树非递归遍历方法实例总结
- C++基础知识易错点总结(1)
- leetcode笔试题二叉树的前序、中序、后序遍历的递归和循环c++实现