震惊!c语言学了一辈子都不知道的小技巧。第五章。

标题党,我这算不上小技巧就是一点感想。

一般循环再往后深入就是多重循环。在多重循环中,有一类输出多边形的题目,大多只要将i看为行,将j看为列,就可以解决。还包括类似打印乘法表,也可以解决。特殊的就是,利用循环来解方程。如:

百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用 100 文钱买 100 只鸡,公鸡、母鸡、小鸡各买多少只?

本程序要求解的问题是:给定一个正整数 n,用 n 文钱买 n 只鸡,问公鸡、母鸡、小鸡各买多少只?

for(i=0;i<=n;i++)

for(j=0;j<=n;j++)

{

if(i+j+(n-5*i-3*j)*3==n)

{f=1;a=i;b=j;c=(n-5*i-3*j)*3;

cout<<a<<" "<<b<<" "<<c<<endl;

}

}

以人类视角来看就是枚举法,一个个是试答案,将符合的答案记录,这是很神奇的。

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务