复利的作用编程题联系

复利的威力

  1. 输入一个整数a,和一个正整数n,计算乘方a的n次方

//思路:用循环进行计算

inta=Convert.ToInt32(Console.ReadLine());

intn=Convert.ToInt32(Console.ReadLine());

intresult=1;

for (inti=0; i<n; i++) ;//当i=0的时候,i小于多少,就相当于这个for循环要执行多少次,因此就需要在外界定义一个变量来存储乘积

//只需要用result这个值乘以等于a就行了

{

result*=a;//运算过程是result*a*a*a*a*a......因此用0乘以任何数都是0,因此在乘除法的运算中,要让result的初始值为1,只有在求和的计算中我们才把变量的初始值设置成0

}

Console.WriteLine(result);

  1. 输入整数n,输出n的阶乘

intn=Convert.ToInt32(Console.ReadLine());

intresult=1;

for (inti=1; i<=n; i++)

{

result*=i;

}

Console.WriteLine(result);

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

注意这一题中的”1“相当于q的零次方

//首先是求和,然后是确定循环的执行次数

//当做计算n词,然后求和,最后再加一

intq=Convert.ToInt32(Console.ReadLine());

intn=Convert.ToInt32(Console.ReadLine());

inttemp=1;

intsum=1;

for(inti=1; i<=n; i++)

{

temp*=q;

sum+=temp;

}

//q=3,n=3

//1+3+9+27=40

Console.WriteLine(sum);

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

//不确定循环多少次结束,但是确定循环结束的条件(Sn>k),因此用while循环

intk=Convert.ToInt32(Console.ReadLine());

doublesn=0;

intn=1;

while (sn<=k)

{

sn+=1.0/n;

n++;

}

Console.WriteLine(n-1);

//但如果让n的初始值为0,然后循环里每次先自增再运算而不是先运算再自增,就不需要在处处的时候-1

intk=Convert.ToInt32(Console.ReadLine());

doublesn=0;

intn=0;

while (sn<=k)

{

n++;

sn+=1.0/n;

}

Console.WriteLine(n);

  1. 我国现有x亿⼈⼝,按照每年0.1%的增⻓速度,n年后将有多少⼈?

//我自己写的,不太行,,,,

intn=Convert.ToInt32(Console.ReadLine());

doublex=Convert.ToInt32(Console.ReadLine());

doublesum=x;

for (inti=0; i<=n; i++)

{

sum+=x+x*0.001;

x=sum;

}

Console.WriteLine(sum);

//跟着写一遍

doublex=Convert.ToInt32(Console.ReadLine());

intn=Convert.ToInt32(Console.ReadLine());

for(inti=0; i<0; i++)

{

x*=1.001;

}

Console.WriteLine(x);

Console.ReadKey();

  1. 农夫约翰在去年赚了⼀⼤笔钱!他想要把这些钱⽤于投资,并对⾃⼰能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之间的整数)。他清楚地知道⾃⼰要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。输⼊三个整数 R,M,Y,输出整数,即最终拥有多少钱。输⼊550004输出6077

//R M Y

intr=Convert.ToInt32(Console.ReadLine());

intm=Convert.ToInt32(Console.ReadLine());

inty=Convert.ToInt32(Console.ReadLine());

for(inti=0; i<y; i++)

{

m= (int)(m* ((r/100.0) +1));

}

Console.WriteLine(m);

  1. 编写⼀个程序,打印出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个三位数,其各位数字⽴⽅等于该数本⾝。例如153=111+555+333,所以153是“⽔仙花数”。

for(int i = 100; i <= 999; i++)

{

int ge = i % 10;

int shi = (i / 10) % 10;

int bai = i / 100;

if (i == ge * ge * ge * +shi * shi * shi + bai * bai * bai)

{

Console.WriteLine(i);

}

  1. 输⼊任意⼀个位数未知的整数,输出这个数每⼀位上的数字。输出的时候,从个位开始输出,每输出⼀个数字换⼀⾏。输⼊:3432输出:2343

思路:利用循环 因为不确定循环次数,所以for循环不合适,通过不断求余得到数位

intn=Convert.ToInt32(Console.ReadLine());

while (n!=0)

{

//假设n的值一开始是2325

//在第一次求余得到个位数5之后

//n通过除以10变成232,一次类推

inti=n%10;

Console.WriteLine(i);

n=n/10;

}

  1. 随机输⼊⼀个位数未知的整数,去除这个整数各个位上的0,形成新的数,并输出。输⼊的数字n⼤于0,⼩于1000000。Unity 1142 C#编程-第⼀季-编程基础-宇宙最简单2021最新版 40样例输⼊ 20603 样例输出 263

复利的威力

  1. 输入一个整数a,和一个正整数n,计算乘方a的n次方

//思路:用循环进行计算

int a = Convert.ToInt32(Console.ReadLine());
            int n = Convert.ToInt32(Console.ReadLine());

            int result = 1;

            for (int i = 0; i < n; i++) ;//当i=0的时候,i小于多少,就相当于这个for循环要执行多少次,因此就需要在外界定义一个变量来存储乘积
            //只需要用result这个值乘以等于a就行了
            {
                result *= a;//运算过程是result*a*a*a*a*a......因此用0乘以任何数都是0,因此在乘除法的运算中,要让result的初始值为1,只有在求和的计算中我们才把变量的初始值设置成0
            }
            Console.WriteLine(result);
  1. 输入整数n,输出n的阶乘

   int n = Convert.ToInt32(Console.ReadLine());
            int result = 1;
            for (int i = 1; i <= n; i++)
            {
                result *= i;
            }
            Console.WriteLine(result);
  1. 输⼊q和n,求下⾯公式的结果。

注意这一题中的”1“相当于q的零次方

//首先是求和,然后是确定循环的执行次数
            //当做计算n词,然后求和,最后再加一
            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++)
            {
                temp *= q;
                sum += temp;
            }
            //q=3,n=3
            //1+3+9+27=40
            Console.WriteLine(sum);

已知:Sn = 1 + 1/2 + 1/3 + ... + 1/n。 显然对于任意⼀个整数k,当n⾜够⼤的时候,Sn⼤于K。

现输⼊⼀个整数K(1≤K≤15),要求计算出⼀个最⼩的n,使得Sn>K。

输⼊⼀个整数K,输出⼀个整数n。

样例输⼊1,样例输出2


            //不确定循环多少次结束,但是确定循环结束的条件(Sn>k),因此用while循环
            int k = Convert.ToInt32(Console.ReadLine());
            double sn = 0;
            int n = 1;
            while (sn <= k)
            {
                sn += 1.0 / n;
                n++;
            }
            Console.WriteLine(n-1);
  //但如果让n的初始值为0,然后循环里每次先自增再运算而不是先运算再自增,就不需要在处处的时候-1
            int k = Convert.ToInt32(Console.ReadLine());
            double sn = 0;
            int n = 0;
            while (sn <= k)
            {
                n++;
                sn += 1.0 / n;
            }
            Console.WriteLine(n);
  1. 我国现有x亿⼈⼝,按照每年0.1%的增⻓速度,n年后将有多少⼈?

//我自己写的,不太行,,,,
            int n = Convert.ToInt32(Console.ReadLine());
            double x = Convert.ToInt32(Console.ReadLine());
            double sum = x;
            for (int i = 0; i <= n; i++)
            {
                sum += x + x * 0.001;
                x = sum;
            }
            Console.WriteLine(sum);
   //跟着写一遍
            double x = Convert.ToInt32(Console.ReadLine());
            int n = Convert.ToInt32(Console.ReadLine());
            for(int i = 0; i < 0; i++)
            {
                x *= 1.001;
            }
            Console.WriteLine(x);
            Console.ReadKey();
  1. 农夫约翰在去年赚了⼀⼤笔钱!他想要把这些钱⽤于投资,并对⾃⼰能得到多少收益感到好奇。

已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之

间的整数)。他清楚地知道⾃⼰要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,

并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。

输⼊三个整数 R,M,Y,输出整数,即最终拥有多少钱。

输⼊

5

5000

4

输出

6077

//R M Y
            int r = Convert.ToInt32(Console.ReadLine());
            int m = Convert.ToInt32(Console.ReadLine());
            int y = Convert.ToInt32(Console.ReadLine());
            for(int i = 0; i < y; i++)
            {
                m = (int)(m * ((r / 100.0) + 1));
            }
            Console.WriteLine(m);
  1. 编写⼀个程序,打印出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个三位数,其各位数字⽴⽅等

于该数本⾝。例如153=111+555+333,所以153是“⽔仙花数”。

  for(int i = 100; i <= 999; i++)
            {
                int ge = i % 10;
                int shi = (i / 10) % 10;
                int bai = i / 100;
                if (i == ge * ge * ge * +shi * shi * shi + bai * bai * bai)
                {
                    Console.WriteLine(i);
                                   }
  1. 输⼊任意⼀个位数未知的整数,输出这个数每⼀位上的数字。输出的时候,从个位开始输出,每

输出⼀个数字换⼀⾏。

输⼊:3432

输出:

2

3

4

3

思路:利用循环 因为不确定循环次数,所以for循环不合适,通过不断求余得到数位

 int n = Convert.ToInt32(Console.ReadLine());
            while (n != 0)
            {
                //假设n的值一开始是2325
                //在第一次求余得到个位数5之后
                //n通过除以10变成232,一次类推
                int i = n % 10;
                Console.WriteLine(i);
                n = n / 10;
            }
  1. 随机输⼊⼀个位数未知的整数,去除这个整数各个位上的0,形成新的数,并输出。

输⼊的数字n⼤于0,⼩于1000000。Unity 1142 C#编程-第⼀季-编程基础-宇宙最简单2021最新版 40

样例输⼊ 20603 样例输出 263

 int n = Convert.ToInt32(Console.ReadLine());
            int sum = 0;
            int cheng = 1;
            while (n != 0)
            {
                      int i = n % 10;

                if (i != 0)
                {
                    i *= cheng;//ge 1*
                    sum += i;
                    cheng *= 10;
                }
                Console.WriteLine(i);
                n = n / 10;
            }
            Console.WriteLine(i);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值