2023-02-16
自我提升
0

✋编程题
⼀个球从某⼀⾼度落下来,每次落地后反跳回原来⾼度的⼀半,再落下。
编程计算球第10次反弹多⾼?在第10次落地时,共经过多少⽶?
输⼊球的初始⾼度,输出反弹多⾼,和经过了多少⽶。

c#
int n = Convert.ToInt32(Console.ReadLine()); double high = n; for(int i = 0; i < 10; i++) { high /= 2; } Console.WriteLine("第10次落地后会反弹的高度是:" + high); //1 --- 2n //2 --- n //3 --- n/2 //10 --- d(9)/2 double distance = 2 * n; double sum = n; for (int i = 0; i < 9; i++) { distance /= 2; sum += distance; } Console.WriteLine("第10次落地后经过了多少米是:" + sum);

✋编程题
输⼊⼀个整数a,和⼀个正整数n,计算乘⽅ a的n次⽅。

c#
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);

✋编程题
输⼊整数n,输出n的阶乘。

c#
// 6 1*2*3*4*5*6 int n = Convert.ToInt32(Console.ReadLine()); int result = 1; for(int i = 1; i <= n; i++) { result *= i; } Console.WriteLine(result);

✋编程题
输⼊q和n,求下⾯公式的结果。
1+q1+q2+q3+...+qn1+q^1+q^2+q^3+...+q^n

c#
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++) { // qn 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

c#
int k = Convert.ToInt32(Console.ReadLine()); // n 1 double sn = 0; int n = 1; while (sn <= k) { sn += 1.0 / n; n++; } Console.WriteLine(n-1);

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

c#
double x = Convert.ToInt32(Console.ReadLine()); int n = Convert.ToInt32(Console.ReadLine()); for(int i = 0; i < n; i++) { x *= 1.001; } Console.WriteLine(x);

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

c#
// 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);

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

c#
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); } }

✋编程题
输⼊任意⼀个位数未知的整数,输出这个数每⼀位上的数字。输出的时候,从个位开始输出,每 输出⼀个数字换⼀⾏。
输⼊:3432
输出:
2
3
4
3

c#
int n = Convert.ToInt32(Console.ReadLine()); while (n ≠ 0) { int i=n% 10; Console.WriteLine(i); n = n / 10; }

✋编程题
随机输⼊⼀个位数未知的整数,去除这个整数各个位上的0,形成新的数,并输出。
输⼊的数字n⼤于0,⼩于1000000。
样例输⼊ 20603 样例输出 263

c#
int n = Convert.ToInt32(Console.ReadLine()); int sum = 0; int cheng = 1;// 1 10 100 1000 while (n ≠ 0) { int i = n % 10; //i就是遍历各个位上的数字 if (i ≠ 0) { i *= cheng;// ge 1* sum += i; cheng *= 10; } n = n / 10; } Console.WriteLine(sum);

✋编程题
随机输⼊⼀个整数num,输出⼀个新的数,新数恰好与原数每⼀位上的数字相反。(如果原数末 尾有多个零,输出的新数⾼位不含0)
样例输⼊ 8736 样例输出 6378
样例输⼊2300 样例输出 32

c#
int n = Convert.ToInt32(Console.ReadLine()); // 标志位,标志是否达到了某个条件 bool yudao = false;// 默认还没有遇到第一个非0 while (n ≠ 0)//从低位到高位遍历 { int i = n % 10; //23407800 i = 0 0 8 7 0 4 3 2 //判断是否遇到了第一个非0数字 //已经遇到了第一个非0数字 //不需要去掉0了 //还没有遇到第一个非0数字 //去掉 if (yudao = true)//还没有遇到第一个非0数字 { if (i ≠ 0)//i=8 { Console.Write(i); yudao = true; } } else //i=7 { Console.Write(i); } n = n / 10; }

✋编程题
回⽂数指正序(从左到右)和倒序(从右到左)读都是⼀样的整数。输⼊⼀个数,判断是否是回 ⽂数。输⼊的整数⼤于0,⼩于1000000。如果是回⽂输出yes,不是输出no。
样例输⼊ 2397 输出no
样例输⼊ 2992 样例输出yes

c#
int n = Convert.ToInt32(Console.ReadLine()); int tempN = n; int number = 0; // 3617 // 7 1 6 3 // 7*10 10 //71*10 710 //7160 // 7163 while (tempN ≠ 0)//从低位到高位 { int i = tempN % 10; number *= 10; number += i; tempN = tempN / 10; } if (number == n) { Console.WriteLine("yes"); } else { Console.WriteLine("no"); }

✋编程题
数字和字符混合在⼀起了,作为⼀个优秀的挖掘⼈员,把输⼊的数字挖出来,并计算这些数字的 和,并输出。输⼊以@作为结束。
样例输⼊ 23a34b34@
样例输出 19

c#
char c; // '0' -- 55 '9' -- int sum = 0; do { c = (char)Console.Read(); if (c >= '0' && c <= '9') { int number = c - '0'; sum += number; } } while (c ≠ '@'); Console.Write(sum);