//穷举法
思想:先让所有的情况走一遍,再用if筛选。
//★输出100以内与7有关的数字
static void Main(string[] args)
{
int i;
for (i = 0; i <= 100; ++i)
{
if (i % 7 == 0 || i % 10 == 7 || i / 7 == 7)
{
Console.Write(i + " ");
}
}
}
//1.小张单位发100元的购物卡,小张要去超市买三种日常用品:牙刷(5元)、香皂(2元)、洗发水。(15元),购物卡不退现,小张又不想多花钱,如何购买刚好花完这100元的卡?
static void Main(string[] args)
{
int x, y, z;
int zh = 0;
for (x = 0; x <= 20; x++)
{
for (y = 0; y <= 50; y++)
{
for (z = 0; z <= 6; z++)
{
if (5 * x + 2 * y + 15 * z == 100)
{
//Console.Write(x + " ");
//Console.Write(y + " ");
//Console.Write(z + " ");
//Console.WriteLine();
Console.WriteLine("牙刷{0}支,香皂{1}盒,洗发水{2}瓶",x,y,z);
zh++;
}
}
}
}
Console.WriteLine("一共有{0}种组合方式",zh);
}
//2.百鸡百钱
//公鸡2文钱,母鸡1文钱,小鸡半文钱。用100文钱,买100只鸡,有哪几种组合?
static void Main(string[] args)
{
int g, m, x,zh=0;
for (g=0;g<=50;g++)
{
for (m=0;m<=100;m++)
{
for (x=0;x<=100;x++)
{
if(g+m+x==100&&2*g+m*1+x*0.5==100)
{
Console.WriteLine("公鸡{0};母鸡{1};小鸡{2};", g, m, x);
zh++;
}
}
}
}
Console.WriteLine("共有{0}组合方式",zh);
}
//3.用加减符号填空
123( )45( )67( )8( )9=100
public static void Main(string[] args)
{
int a, b, c, d;
for (a=-1;a<=1;a+=2)
{
for (b = -1; b<=1;b+=2 )
{
for (c=-1;c<=1;c+=2 )
{
for (d=-1;d<=1;d+=2)
{if(123+a*45+b*67+c*8+d*9==100)
{
Console.WriteLine("{0},{1},{2},{3}",a,b,c,d);
}
}
}
}
}
}
//4.一堆苹果,3个3个地分刚好分完,4个4个地分剩1个,这堆苹果可能有多少个?
public static void Main(string[] args)
{
int a = 0;
for (int i = 0; i <= 10000; i++)
{
if (i % 3 == 0 && i % 4 == 1)
{
Console.WriteLine(i);
a++;
if (a > 5)
break;
}
}
}
//迭代法
思想:找出规律,完成循环的四要素。
//★输出100以内数字的和
static void Main(string[] args)
{
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
}
//1.猴子吃桃子
#region
int taozishu = 1, i;
for (i = 6; i >= 1; i--)
{
taozishu = (taozishu + 1) * 2;
}
Console.WriteLine(taozishu);
#endregion
//2.国际象棋棋盘放米
double mi = 1, ai;
for (ai = 2; ai <= 64; ai++)
{
mi = mi * 2;
Console.Write(mi + " ");
}
//Console.WriteLine("最后一格放的米数:{0}",mi)
//3.折纸
//一张纸厚度 0.088mm----0.000088m 珠峰高度 8848m
double houdu = 0.000088,j;
for (j= 1; ; j++)
{
houdu = houdu * 2;
if (houdu >= 8848)
{
Console.WriteLine("折纸折{0}次,就达到珠峰的高度了", j);
break;
//continue;
}
}
//4.兔子生兔子
#region
int mooth, tu1 = 1, tu2 = 1, tu3 = 0;
for (mooth = 3; mooth <= 24; mooth++)
{
tu3 = tu2 + tu1;
tu2 = tu3;
tu1 = tu2;
// Console.WriteLine("本月的兔子数是:{0}",tu3);
}
Console.WriteLine("本月的兔子数是:{0}", tu3);
#endregion
5.打印星号
//9行10列星
for (int bi = 1; bi <= 9; bi++)
{
for (int bj = 1; bj <= 10; bj++)
{
Console.Write("☆");
}
for (int k = 1; k <= 10; ++k)
{
Console.Write("△");
}
Console.Write("
");
}
//上三角
for (int ci = 1; ci <= 6; ++ci) { for (int cj = 1; cj <= i; ++cj) { Console.Write("★"); } Console.WriteLine(); }
//下三角
for (int di = 1; di <= 9; ++di)
{
for (int dj = 1; dj <= 7 - i; ++dj)
{
Console.Write("★");
}
Console.Write("
");
}
//倒三角
for (int ei = 1; ei <= 6; ei++)
{
for (int ej = 1; ej <= 6 - i; ej++)
{
Console.Write(" ");
}
for (int k = 1; k <= i; k++)
{
Console.Write("★");
}
Console.Write("
");
}
//倒三角
for (int fi = 1; fi <= 6; fi++)
{
for (int fj = 1; fj <= i - 1; fj++)
{
Console.Write(" ");
}
for (int fk = 1; fk <= 7 - i; fk++)
{
Console.Write("★");
}
Console.WriteLine();
}
//等腰三角
for (int hi = 1; hi <= 5; hi++)
{
for (int hj = 1; hj <= 5 - i; hj++)
{
Console.Write(" ");
}
for (int k = 1; k <= 2 * i - 1; k++)
{
Console.Write("★");
}
Console.Write("
");
}
//+菱形 和上面代码接起来
for (int ji = 1; ji <= 4; ji++)
{
for (int jj = 1; jj <= i; jj++)
{
Console.Write(" ");
}
for (int k = 1; k <= 9 - 2 * i; k++)
{
Console.Write("★");
}
Console.Write("
");
}
小知识点:
break; 完全终止循环,退出循环。 吃到苍蝇
continue; 中断本次循环,进入下次循环。 吃到沙子