C#编程题分享(3)

n的阶乘问题

输⼊整数n,输出n的阶乘。

int n = Convert.ToInt32(Console.ReadLine());
int jiecheng = 1;
for (int i = 1; i < n + 1; i++)
{
    jiecheng *= i; // 1 * 2 * 3 * .....

}
Console.WriteLine("{0}的阶乘是:{1}", n, jiecheng);

q^n次方和问题

输⼊q和n,求下⾯公式的结果。1+q^1+q^2+..+q^n的和

Console.WriteLine("请输⼊⼀个整数q和⼀个整数n:");
int q = Convert.ToInt32(Console.ReadLine());
int n = Convert.ToInt32(Console.ReadLine());
int result = 1;
int sum = 1;
for (int i = 1; i < n + 1; i++) // 1-n次遍历
{
    result *= q; // q^1  q^2 ... q^n
    sum += result; // 1+q^1+q^2+..+q^n
}
Console.WriteLine(sum);

求最⼩值n,使得Sn > K的问题

已知:Sn = 1 + 1/2 + 1/3 + ... + 1/n。 显然对于任意⼀个整数k,当n⾜够⼤的时候,Sn⼤于K。现输⼊⼀个整数K(1≤K≤15),要求计算出⼀个最⼩的n,使得Sn > K。输⼊⼀个整数K,输出⼀个整数n。样例输⼊1,样例输出2

Console.WriteLine("请输入一个整数k:");
int k = Convert.ToInt32(Console.ReadLine());
int n = 0;
int i = 1; // 这里定义了i变量
int sn = 1;
for (; i < k + 1;) // 这里第一个分号,是int i = 1 变量的缩写形式
{
    sn += 1 / i; // sn的和
    if (sn > i) // 判断条件
    {
        n = i + 1;
    }
    i++;
}
Console.WriteLine(n);

你可能感兴趣的:(C#,c#,后端,开发语言)