1.打印1-100中所有能被7和9整除的数
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//1.打印1 - 100中所有能被7和9整除的数
for (int i = 1; i <= 100; i++)
{
if (i % 7 == 0 && i % 9 == 0)
{
Console.Write(i + " ");
}
}
Console.ReadKey();
}
}
}
2.打印2,22,222,2222,22222;
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//2.打印2,22,222,2222,22222;
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write(2);
}
Console.Write(" ");
}
Console.ReadKey();
}
}
}
3.打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//3.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
//例如:153是一个"水仙花数",因为153 = 1的三次方+5的三次方+3的三次方。
//程序分析:利用for循环控制100 - 999个数,每个数分解出个位,十位,百位。
for (int i = 100; i < 1000; i++)
{
int gw = i % 10;
int sw = i / 10 % 10;
int bw = i / 100;
if (i == gw * gw * gw + sw * sw * sw + bw * bw * bw)
{
Console.Write(i + " ");
}
}
Console.ReadKey();
}
}
}
4.求出所有的5位数的回文数,显示在屏幕上。即12321是回文数,个位与万位相同,十位与千位相同。
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//4.求出所有的5位数的回文数,显示在屏幕上。
//即12321是回文数,个位与万位相同,十位与千位相同。
int[] num = new int[5]; //存储5位数的各位数
for (int i = 10000; i < 100000; i++)
{
int temp = i;
for (int j = 0; j < 5; j++)
{
num[j] = temp % 10;
temp /= 10;
}
if (num[0] == num[4] && num[1] == num[3])
{
Console.Write(i + "\t");
}
}
Console.ReadKey();
}
}
}
6.计算1+2+3+4+5+6+7.。。。+100的和;
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//6.计算1+2+3+4+5+6+7.。。。+100的和;
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum += i;
}
Console.WriteLine(sum);
Console.ReadKey();
}
}
}
7.计算1-2-3-4-5-6-7-8-。。。-100的差
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//7.计算1-2-3-4-5-6-7-8-。。。-100的差
int result = 1;
for (int i = 2; i <= 100; i++)
{
result -= i;
}
Console.WriteLine(result);
Console.ReadKey();
}
}
}
8.计算1*2*3.。。。*100的积;
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//8.计算1*2*3.。。。*100的积;
double result = 1;
for (int i = 1; i <= 100; i++)
{
result *= i;
}
Console.WriteLine(result); //结果溢出
Console.ReadKey();
}
}
}
9.计算1-2+3-4+5.。。。-98+99-100的结果
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//9.计算1-2+3-4+5.。。。-98+99-100的结果
int result = 0;
int flag = -1;
for (int i = 1; i <= 100; i++)
{
flag *= -1;
result += (i * flag);
}
Console.WriteLine(result); //结果溢出
Console.ReadKey();
}
}
}
10.题目:一球从h米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第n次落地时,共经过多少米?第n次反弹多高?
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//10.题目:一球从h米高度自由落下,每次落地后反跳回原高度的一半;
//再落下,求它在 第n次落地时,共经过多少米?第n次反弹多高?
float h = 100; //球的高度
int n = 5; //n次落地
float sum = 0; //经过多少米
//1 100 50
//2 200 25
//3 250 12.5
for (int i = 1; i <= n; i++)
{
if (i == 1)
{
sum += h; //第一次落地只有一段距离
}
else
{
sum += 2 * h;
}
h /= 2; //反弹的高度
}
Console.WriteLine("第{2}次落地,经过了{0}米,第{2}次反弹{1}米", sum, h, n);
Console.ReadKey();
}
}
}
11.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
程序分析:采取逆向思维的方法,从后往前推断。
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//11.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,
//当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
//以后每天早上都吃了前一天剩下的一半零一个。
//到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
//程序分析:采取逆向思维的方法,从后往前推断。
int sum = 1; //桃子的总数量
for (int i = 0; i < 9; i++)
{
sum = (sum + 1) * 2;
}
Console.WriteLine("第一天共摘了{0}个桃子", sum);
Console.ReadKey();
}
}
}
12.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//12.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
//小兔子长到第三个月开始每个月又生一对兔子,
//假如兔子都不死,问每个月的兔子对数为多少?
int n = 10; //第n个月
int sum1 = 1; //第fn月兔子总数
int sum2 = 1; //第fn+1月兔子的总数
// 1 1
// 2 1
// 3 2
// 4 3
// 5 5
//费波纳奇数
if (n != 1 && n != 2)
{
for (int i = 3; i <= n; i++)
{
int temp = sum2;
sum2 = sum1 + sum2;
sum1 = temp;
}
}
Console.WriteLine("第{0}个月兔子的对数为:{1}", n, sum2);
Console.ReadKey();
}
}
}
13.已知一个数字17,判断该数字是否是完数;
该数刚好等于它的因子之和称为完数;
例如:6 = 1 + 2 + 3
using System;
using System.Collections.Generic;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//1.已知一个数字17,判断该数字是否是完数;
//该数刚好等于它的因子之和称为完数;
//例如:6 = 1 + 2 + 3
int num = 6;
List<int> factor = new List<int>(); //存储num的所有因子
for (int i = 1; i <= num/2; i++)
{
if (num % i == 0)
{
factor.Add(i);
}
}
int sum = 0; //用来存储因子之和
foreach (var item in factor)
{
sum += item;
}
if(num == sum)
{
Console.WriteLine("{0}是完数",num);
}
else
{
Console.WriteLine("{0}不是完数", num);
}
Console.ReadKey();
}
}
}
14.已知一个数字111,判断该数字是否是素数;
素数只能整除1和自己;例如2,3,7
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//1.已知一个数字111,判断该数字是否是素数;
//素数只能整除1和自己;例如2,3,7
int num = 111;
bool isPrime = true; //标记num是否为素数
if (num < 2)
{
isPrime = false;
}
for (int i = 2; i < Math.Sqrt(num); i++)
{
if (num % i == 0)
{
isPrime = false;
break;
}
}
if (isPrime)
{
Console.WriteLine("{0}是素数",num);
}
else
{
Console.WriteLine("{0}不是素数", num);
}
Console.ReadKey();
}
}
}
15.求 1/2+2/3+3/5+5/8+8/13+…+第20项的和
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
// 1/2+2/3+3/5+5/8+8/13+...+第20项的和
int num1 = 1;
int num2 = 1;
float result = 0;
for (int i = 0; i < 20; i++)
{
int temp = num1 + num2;
result += num2*1.0f / temp;
num1 = num2;
num2 = temp;
}
Console.WriteLine(result);
Console.ReadKey();
}
}
}