(for 循环)*搬砖问题:36 块砖,36 人搬,男搬4,女搬3,两个小孩抬1 砖,要求一次全搬

作者&投稿:畅顾 (若有异议请与网页底部的电邮联系)
C语言:搬砖问题。36块砖,36个人搬,男搬4块,女搬3块,两个小孩搬1块,要求一次搬完,男,女~

这是一个循环的问题,设男人女人小孩分别是x y z,x+y+z=36;在算一下取值范围,男人的取值范围是0-9;女人得取值范围是0-12;小孩的取值范围是0-36-x-y;然后分别写三个for循环就可以了

Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
For x = 1 To 36
For y = 1 To 36
For z = 1 To 36
If (4 * x + 3 * y + 0.5 * z = 36) And _
(x + y + z = 36) Then Print x, y, z
Next
Next
Next

End Sub

/*36人一次搬36块砖,男搬2女搬2 两个小孩抬一块 要一次搬完
问男,女,小孩 要多少?*/
#include <stdio.h>
int main()
{
int i,j,k;
for(i=0;i<=9;i++)//男人0到9区间
{
for(j=0;j<=12;j++)//女人0到12区间
{
for(k=0;k<=36;k++)//小孩0到36区间
{
if((i+j+k==36)&&(4*i+3*j+0.5*k==36)) {
printf("男人%d个 女人%d个 小孩%d个",i,j,k);
}
}
}
}
return 0;
}

/**
* @author LLJ
* @time 2020-5-4 下午4:53:38
* @Description 36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次搬完, 问:男、女和小孩各几个?
*/
public class Banzhuan7 {
public static void main(String[] args) {
int sumZhuan = 36;
int xiaohai = 0;
for (int i = 0; i <= sumZhuan / 4; i++) {
for (int j = 0; j <= sumZhuan / 3; j++) {
xiaohai = 36 - i - j;
if (xiaohai % 2 == 0 && (i * 4 + j * 3 + xiaohai / 2) == 36
&& i+j+xiaohai == 36) {
System.out.println("男人 " + i + " 个,女人 " + j + " 个,小孩 "
+ xiaohai + " 个");
}
}
}
}
}
打印结果:男人 3 个,女人 3 个,小孩 30 个

public static void main(String[] args) {
List<Integer[]> i=res();
for (int j = 0; j < i.size(); j++) {
System.out.println(i.get(j)[0]+"==="+i.get(j)[1]+"==="+i.get(j)[2]+"===="+j);
}
}
public static List<Integer[]> res(){
List<Integer[]> list=new ArrayList<>();
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 13; j++) {
for (int k = 0; k < 72; k++) {
int result=8*i+6*j+k;
if (result==72&&(i+k+j)==36) {
list.add(new Integer[]{i,j,k});
}
}
}
}
return list;
}

两男两女_三十二个孩


英山县15595412953: (for 循环)搬砖问题: 36块砖, 36人搬,男搬4,女搬3,两个小孩抬1 砖, -
隆宜索拉: #includevoid main() { int man,wman,child,zz; for(man=0;man<=9;man++) { for(wman=0;wman<=12;wman++) { child=36-wman-man; if(36==child/2+3*wman+4*manchild%2==0)printf("man=%d\nwman=%d\nchild=%d\n",man,wman,child); } } }

英山县15595412953: (for 循环)*搬砖问题:36 块砖,36 人搬,男搬4,女搬3,两个小孩抬1 砖,要求一次全搬 -
隆宜索拉: /** * @author LLJ * @time 2020-5-4 下午4:53:38 * @Description 36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次搬完, 问:男、女和小孩各几个? */ public class Banzhuan7 {public static void main(String[] args) {int sumZhuan = ...

英山县15595412953: 搬砖的那道题 为什么啊 -
隆宜索拉: 什么什么啊?编程那道题?搬砖问题:36块砖,36人搬,男搬4、女搬3、两个小儿抬1砖,要求一次全部,问:男、女、小儿需若干?#include<iostream.h> int main() { for (int i=0; i<=9; i++){ for(int j=0; j<=12; j++){ for(int k=0; k<=36; k++){ if ( ( i + j ...

英山县15595412953: C语言:用函数的形式写出36块砖,36人搬.男搬4,女搬3,两个小孩抬一块
隆宜索拉: 看其他答主都答的三重循环,但其实可以利用双重循环简化程序(c语言追求效率),原理类似,具体代码如下:#include <stdio.h>#include<stdlib.h>#include<math.h> main() {int n ; int man, woman, kid; printf("Input n(27<n<=77):\n"); scanf("...

英山县15595412953: 各位JAVA的前辈们,偶是一个刚学习JAVA的小小菜鸟,现在学到while循环,do - while循环和for循环这里了想找几道题练练这三个循环. 注:偶才学JAVA半个月 -
隆宜索拉: 帮你找了几个条目,审查了下还算比较基本的试题.你试试解答.如果有问题可以联系我.祝你好远我的朋友 ! 1. (for 循环)计算1+2+3+...+100 的和 2. (for 循环)计算1+3+5+...+99 的和 3. (while/do…while 循环)把1、2 两题用while 循环或do...while 循...

英山县15595412953: 求一点Java的基础试题. -
隆宜索拉: 循环题: 1. (for 循环)计算1+2+3+...+100 的和 2. (for 循环)计算1+3+5+...+99 的和 3. (while/do…while 循环)把1、2 两题用while 循环或do...while 循环改写 4. (for 循环)读入一个小于10 的整数n,输出它的阶乘n! 5. (for 循环)求100 以内所有能被3 整...

英山县15595412953: C语言编程(搬砖问题) -
隆宜索拉: 算法:4x+3y+z=36x+y+z=36x,y,z属于小于36的正整数由于36个人搬,所以x不会大于9,y不会大于12,z不会大于36所以直到测试完三个条件才算考虑完毕所有情况为了简化思路,将三个条件分开首先固定x,如果x不大于9则开始循环 固定y不断计算...

英山县15595412953: 求VB程序,用for循环
隆宜索拉: Private Sub Command1_Click() Dim a, b, c As Integer For a = 1 To 9 For b = 1 To 12 c = 36 - a - b If 4 * a + 3 * b + c / 2 = 36 Then Print "男人有" & a & "人" Print "女人有" & b & "人" Print "小孩有" & c & "人" End If Next b Next a End Sub

英山县15595412953: 用Visual Basic语言编写一个程序,求解搬砖问题:36块砖,36人搬,男的搬4块, -
隆宜索拉: 五个男生20块,五个女生15块,二个小孩1块

英山县15595412953: 搬砖问题.36个人搬36块砖,男搬4,女搬3,2个小孩招一砖.问男、女、小孩各若干? -
隆宜索拉: 如果你问题里面“2个小孩招一砖”的意思是“2个小孩搬一块砖”的话,答案是:男的3人,女的3人,小孩30人.推算方法:假设男的X人,女的Y人,小孩Z人,根据题意,则: X+Y+Z=36 4X+3Y+1*Z/2=36第二个算式乘以2演化成 X+Y+Z=36 8X+6Y+1*Z=72用演化后的第二个式子减去第一个式子,得到: 7X+5Y=36将X分别等于1、2、3、4、5等代入上式,只要满足X、Y都是整数就可以了,得出的结果是只有X=3时,Y才是整数3,所以Z=36-3-3=30.将结果X=3、Y=3、Z=30代入下面两式: X+Y+Z=36 4X+3Y+1*Z/2=36得出计算结果正确.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网