Console.Write("输入:text=");
string str = Console.ReadLine();
int[] num = new int[7];
for (int i = 0; i < str.Length; i++)
{
if (str[i] == 'b')
{
num[0]++;
}
else if (str[i] == 'a')
{
num[1]++;
}
else if (str[i] == 's')
{
num[2]++;
}
else if (str[i] == 'k')
{
num[3]++;
}
else if (str[i] == 'e')
{
num[4]++;
}
else if (str[i] == 't')
{
num[5]++;
}
else if (str[i] == 'l')
{
num[6]++;
}
}
num[0] /= 2;
num[1] /= 2;
num[6] /= 2;
int minnum = num.Min();
Console.WriteLine("输出:{0}", minnum);
2.数组转换成字符串
int[] intArray = {1,2,3,4,5};
int[] intArray1 = new int[5] {1,8,5,9,5};
Console.WriteLine(string.Join(" ", intArray1));
3.字符串转换成数组
string str = "1,2,3,4,5";
string[] intArray2 = str.Split(",");
4.判断是否为真素数(数字翻转之后还是素数)
static bool isPrime(int num)
{
for(int i = 2; i < num; i++)
{
if (num % i == 0)
return false;
}
return true;//上面循环没有一次执行if中的语句 那就是素数
}
//创建一个方法将数字翻转
static int getReverse(int num)
{
string strNum = Convert.ToString(num);
string strNum2 = "";
for(int i = strNum.Length - 1; i >= 0; i--)
{
strNum2 += strNum[i];
}
return Convert.ToInt32(strNum2);
}
//传入两个数
string str = Console.ReadLine();
string[] intArray = str.Split(" ");
int M = Convert.ToInt32(intArray[0]);
int N = Convert.ToInt32(intArray[1]);
string strout = "";
//循环遍历M到N的数判断是否为真素数
for(int i = M; i <= N; i++)
{
if (isPrime(i) && isPrime(getReverse(i)))
{
if (strout == "")
{
strout += i;
}
else
{
strout += "," + i;
}
}
}
if (strout == "")
{
Console.WriteLine("NO");
}
else
{
Console.WriteLine(strout);
}
5.输出一个数的数字因子(和比自己小的数相除之后余数为0)
int num = Convert.ToInt32(Console.ReadLine());
getDivisor(num);
static int getDivisor(int num)
{
for(int i = 1; i <= num; i++)
{
if (num % i == 0)
{
Console.WriteLine(i);
}
}
return 0;
}
6.输出斐波那契数列(前两个数的和等于第三个数)
static int fib(int n)
{
if (n == 1 || n == 2) return 1;
return fib(n - 1) + fib(n - 2);
}
int num = Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <= num; i++)
{
Console.Write(fib(i) + " ");
}
7.1x1+2x2+...+kxk<2000,求k的最大值
static int getfk(int k)
{
if (k == 1) return 1;
return getfk(k - 1) + k * k;//f(k)=f(k-1)+k*k
}
int i = 1;
while (true)
{
if (getfk(i) >= 2000)
break;
i++;
}
Console.WriteLine(i - 1);
8.猴子吃桃
static int getp(int day)
{
if (day == 10) return 1;
return (getp(day + 1)+1) * 2;
}
for(int i = 1; i <= 10; i++)
{
Console.WriteLine("第{0}天的桃子数:{1}", i, getp(i));
}