using System; using System.Collections.Generic; using System.Text;namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } } } } } sorry,刚才的错了。因为有了大于20的情况。 答案应为: 12--4--84 8--11--81 4--18--78
呵呵,很不好意思,谢谢楼上( yitiaoming2003(小钱) )提出错误!
先建立数学模型: 5a+3b+c/3=100 c为3的倍数然后就是求解了
int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }
int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }
Dim a, b, c As Integer For a = 0 To 20 For b = 0 To 100 - 5 * a If ((100 - 5 * a - 2 * b) Mod 3) = 0 And (100 - 5 * a - 2 * b) > 0 Then ListBox1.Items.Add(a & "," & b & "," & 100 - 5 * a - 2 * b) End If Next Next VB的算法,第二层循环还可以优化
int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } } int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } } int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } } int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }int hen, cock, chicken; for (cock = 0; cock <= 20; cock++) { for (hen = 0; hen <= 33; hen++) { chicken = (100 - hen * 5 - cock * 3) * 3; if (hen + cock + chicken == 100) Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken); } }
int hen,cock,chicken;//定义三个变量表示三种鸡的只数
for(cock=0;cock<20;cock++)//因为100元最多买20只公鸡
{
for(hen=0;hen<33;hen++)//因为100元最多买33只公鸡
{
chicken=100-cock-hen;
if(cock*5+hen*3+chicken/3==100)&&(cock+hen+chicken)
{
return;
}
}
}
}
考虑到算法优化,本程序家耍使用二重循环,而且最外层循环应选择循环次数最少的,如有错误请批评!
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int hen, cock, chicken;
for (cock = 0; cock < 20; cock++)
{
for (hen = 0; hen < 33; hen++)
{
chicken = 100 - cock - hen;
if (cock * 5 + hen * 3 + chicken / 3 == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}
}
}
}
来晚了。VS.NET2005写的,望楼主笑纳。
for(cock=0;cock<20;cock++)//因为100元最多买20只公鸡
{
for(hen=0;hen<33;hen++)//因为100元最多买33只公鸡
{
chicken=100-cock-hen;
if(cock*5+hen*3+chicken/3==100)
{
Console.WriteLine("hen="+hen.ToString());
}
}break;
}
Console.Read();
由一楼的改的
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}
}
}
}
sorry,刚才的错了。因为有了大于20的情况。
答案应为:
12--4--84
8--11--81
4--18--78
5a+3b+c/3=100
c为3的倍数然后就是求解了
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}
For a = 0 To 20
For b = 0 To 100 - 5 * a
If ((100 - 5 * a - 2 * b) Mod 3) = 0 And (100 - 5 * a - 2 * b) > 0 Then
ListBox1.Items.Add(a & "," & b & "," & 100 - 5 * a - 2 * b)
End If
Next
Next
VB的算法,第二层循环还可以优化
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}
int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}
int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}
int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}int hen, cock, chicken;
for (cock = 0; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chicken = (100 - hen * 5 - cock * 3) * 3;
if (hen + cock + chicken == 100)
Console.WriteLine("{0}--{1}--{2}", hen, cock, chicken);
}
}