namespace test1
{
class Programe8
{
/* static bool isPrme(int num1)
{
for (int i = 2; i < num1; i++)
{
if (num1 % i == 0)
{
return false;
}
}
return true;
}*/
## //2.定义一个函数getDivisor,用来取得一个数字的所有因子,把所有因子返回
/* static void getDivisor(int num)
{
for (int i = 1; i <= num; i++)
{
if (num % i == 0)
{
Console.WriteLine(i);
}
}
}*/
## // 3函数重载 两个相同的名称函数 可以更具输入的类型 进行不同功能的实现、
## // **4递归**
//有关系式1 * 1+2 * 2+3 * 3+...k * k<2000,
## //编一个程序,求出满足此关系的**k的最大值**,利用递归和循环解决这个问题
// 关系式: f(k-1)= 1*1+2*2+。。。(k-1)*(k-1) f(k)= 1*1+2*2+。。。(k-1)*(k-1)+k*k=f(k-1)+k*k
// 出口: n==1 出口
static int printNum(int n)
{
if (n == 1)
{
return 1;
}
return printNum(n - 1)+n*n;
}
/* 提示:已知112358132134...我们发现后面数是前两个数的和,我们称这种数列为斐波那契数列
### 题目要求:输入n,求出n项的斐波那契数列(2)
例:输入4输出1123*/
//f(0)=f(1) f(2)=f(0)+f(1) f(3)=f(1)+f(2) 关系式: f(n)=f(n-1)+f(n-2) 出口f(0)=f(1)=1
static int feibo(int num)
{
if (num == 1 || num == 2)
{
return 1;
}
return feibo( num - 1) +feibo( num- 2);
}
### //(3)猴子桃子
//求关系式 f(1)=Nf(2)=f(1)/2-1 f(3)=f(2)/2-1 f(n)=f(n-1)/2-1 f(n-1)=(f(n)+1)*2
//出口 f(10)=1f(n)? f(n+1) f(n)=(f(n+1)+1)*2
static int getP(int day)
{
if (day==10) return 1;
return (getP(day + 1) +1)*2;
}
static void Main(string[] args)
{
//static修饰符表示静态函数void表示返回值类型如果没有返回值,返回值为空那么类型就是void 也可以是其他bool int string等
/* Max(1);
static int Max(int numl, int num = 2) //函数名(形参1,形参2...)
{
Console.WriteLine(num);
return 2;//return下面的代码是不会执行*/
/* Console.WriteLine("输入一个数字");
int num =Convert.ToInt32(Console.ReadLine());
getDivisor(num);*/
// 递归斐波那契;
/* Console.WriteLine("输入num");
int num = Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <=num; i++)
{
Console.Write(feibo(i)+" ");
}
Console.WriteLine(" ");*/
// 递归桃子
/* for (int i = 1; i < 11; i++)
{
Console.WriteLine("第{0}天吃了{1}个桃子", i, getP(i));
}
*/
// 递归输出最大数
int k = 1;
while (printNum(k) <= 2000)
{
k++;
}
Console.WriteLine("满足条件最大的k是"+(k-1));
}
}
}