多一个变量temp,但可以少一个循环体
多一个变量temp,但可以少一个循环体
独立解题连解题思路都和老师一样哈哈,显摆一下:
int q = Convert.ToInt32(Console.ReadLine());//2
int n = Convert.ToInt32(Console.ReadLine());//3
int sum = 1;
int tol = 1;
//q的N次方
for (int i = 1; i <= n; i++) {//1+2+2*2+2*2*2+2*2*2*2= 3+4+8+16 =15+16=31
sum *= q;
tol += sum;
}
Console.WriteLine(tol);
using System;
namespace _022_编程题
{
class Program
{
static void Main(string[] args)
{
//int a = Convert.ToInt32(Console.ReadLine());
//int n = Convert.ToInt32(Console.ReadLine());
//int result = 1;
//for (int i = 0; i < n; i++)
//{
// result *= a;// 1 *a*a*a
//}
//Console.WriteLine(result);
// 6 1*2*3*4*5
//int n = Convert.ToInt32(Console.ReadLine());
//int result = 1;
//for(int i = 1; i <= n; i++)
//{
// result *= i;
//}
//Console.WriteLine(result);
int q = Convert.ToInt32(Console.ReadLine());
int n = Convert.ToInt32(Console.ReadLine());
int temp = 1;
int sum = 1;
for(int i = 1; i <= n; i++)
{
//q^n
temp *= q;
sum += temp;
}
// q=3 n=3
// 1+3+9+27=40
Console.WriteLine(sum);
}
}
}
计算乘法的初始值是1
计算和的初始值是0
static void test03()
{
Console.WriteLine("请输入一个整数a:");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入一个正整数n:");
int n = Convert.ToInt32(Console.ReadLine());
int res = 1;
for (int i = 0; i < n; i++)
{
res *= a;
}
Console.WriteLine("{0}的{1}次方是:{2}",a,n,res);
}
static void test04()
{
Console.WriteLine("请输入一个整数n:");
int n = Convert.ToInt32(Console.ReadLine());
int res = 1;
for (int i = 1; i <= n; i++)
{
res *= i;
Console.WriteLine("res="+res);
}
}
static void test05()
{
Console.WriteLine("请输入一个整数n:");
int n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入一个整数q:");
int q = Convert.ToInt32(Console.ReadLine());
int temp = 1;
int res = 0;
for (int i = 1; i <= n; i++)
{
temp *= q;
res += temp;
Console.WriteLine("temp=" + temp);
Console.WriteLine("res=" + res);
}
res++;
Console.WriteLine("res=" + res);
}
乘积循环时初始值要设置为1
第六十二课 编程题
1. 输入一个整数a和一个正数n,计算乘方a的n次方。
int a = Convert.ToInt32(Console.ReadLine());
int n = Convert.ToInt32(Console.ReadLine());
int he = 1;
for(int i = 1; i <= n; i++)
{
he *= a;
}
Console.WriteLine(he);
注:
累加、累乘都表示“和”里面有几个=后面的数,“和”的意义在于=后面数值的个数,设置“和”的起始值需要好好想想。
2. 输入整数n,输出整数n的阶乘。
int n= Convert.ToInt32(Console.ReadLine());
int a = 1;
int he = 1;
for (int i = 0; i < n ; i++)
{
he = he * a;
a++;
}
Console.WriteLine(he);
修改成老师的答案:
int n= Convert.ToInt32(Console.ReadLine());
int he = 1;
for (int i = 0; i < n ; i++)
{
he *= i;
}
Console.WriteLine(he);
i不是变量吗?不能用吗?不在for域内吗?还重新定义一个变量?是不是脑抽,是不是脑抽,是不是脑抽??
3. 输入q和n,求下面公式的结果?
Console.WriteLine("输入一个整数");
int q= Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入整数的平方值");
int n= Convert.ToInt32(Console.ReadLine());
int he = 1;
int zh = 1;
for( int i = 0; i < n; i ++)
{
he *= q;
zh += he;
}
Console.WriteLine(zh);