1 .鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
for (int i = 0; i < 35; i++)
{
if ((i * 4) + (35 - i) * 2 == 94)
{
Console.WriteLine("兔 : {0} 鸡 : {1}",i,35-i);
}
}
2 .一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几?
int i = 1;
while (i > 0)
{
if ((i + 3) % 5 == 0 && (i - 3) % 6 == 0)
{
Console.WriteLine(i);
break;
}
i++;
}
for (int i = 400; i <= 500; i++)
{
if (i % 2 == 1 && i % 5 == 3 && i % 9 == 1)
{
Console.WriteLine(i);
}
}
4 .有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
int hurdred = 0;
int unit = 0;
for (int i = 999; i <= 9999; i++)
{
hurdred = (i % 1000)/100;
unit = i % 10;
if (hurdred == 3 && unit == 6 && i % 2 == 0 && i % 3 == 0)
{
Console.WriteLine(i);
break;
}
}
for (int i = 9999; i > 999; i--)
{
hurdred = (i % 1000) / 100;
unit = i % 10;
if (hurdred == 3 && unit == 6 && i % 2 == 0 && i % 3 == 0)
{
Console.WriteLine(i);
break;
}
5. 编程求一个四位自然数ABCD,它乘以A后变成DCBA
int A, B, C, D = 0;
int sum = 0;
for (int i = 999; i <= 9999; i++)
{
A = i / 1000;
B = i % 1000 / 100;
C = i / 100 / 10;
D = i % 10;
sum = D * 1000 + C * 100 + B * 10 + A;
if (i * A == sum)
{
Console.WriteLine(i);
}
}
6 .编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和.
int A, B, C = 0;
float sum = 0;
for (int i = 100; i < 1000; i++)
{
A = i / 100;
B = i % 100 / 10;
C = i % 10;
sum = i / 11.0f;
if(A+B+C==sum)
{
Console.WriteLine(i);
}
}
7.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.
int SixOne, SixTwo = 0;
for (int i = 10000; i < 100000; i++)
{
SixOne = i * 10 + 7;
SixTwo = 7 * 100000 + i;
if (SixTwo / SixOne == 5)
{
Console.WriteLine(i);
}
}
8 .25.如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
List<int> arr = new List<int>();//定义未知长度的数组
for (int i = 1; i < 100; i++)
{
int begin = 2;
bool isP = true;
while (begin < i)
{
if (i % begin == 0)
{
isP = false;
break;
}
begin++;
}
if (isP)
{
arr.Add(i); //将每个素数存入数组
}
}
for (int i = 1; i < arr.Count; i++)
{
if (arr[i] - arr[i-1] == 2)
{
Console.WriteLine("{0}和{1}是孪生数",arr[i-1],arr[i]);
}
}
9. . 猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半多一个。到第7天再想吃的时候就剩1个桃子了,求第一天共摘下来多少个桃子?
int n = 1;
while (n>0)//开始匹配
{
int sum = n;
for (int i = 0; i < 3; i++)//天数
{
sum = (sum / 2 - 1);
}
if (sum == 1)
{
break;//匹配成功退出循环
}
n++;//与上面对应
}
Console.WriteLine(n);