/* 用1角,2角,5角凑出10元钱,有几种办法。 也就是0.1a+0.2b+0.3c=10,化简一下就是 a=100-2b-3c 因为a的范围是0到100,所以弄一个循环 把a的值从0尝试到100,当a等于0的时候,b的值也是0到100, 然后a b都确定的时候c就确定了。 */ int a = 0; int b = 0; int c = 0; int count = 0;; while (a < 101)//a的值大于0小于100 { b = 0;//当a每循环一次,b进行一次大循环,每次大循环b都是从0开始。 while (b < 101) { if ((100-a-2*b)%3==0&&(100-a-2*b)>0)//c的值只有是整数而且是正数的情况才可以的。 { count++; printf("a=%d b=%d c=%d n", a, b, (100 - a - 2*b)/3); } b++; } a++; } printf("%d solutions",count);
我这个其实是有种数学的感觉,没有写程序的感觉,哈哈。
update:2018.9.29
int main(void) { int a; int b; int c; int count = 0; for (a = 1; a <= 100; a++) { for (b = 1; b <=50; b++) { for (c = 1; c <=20 ; c++) { if (a + 2*b + 5*c == 100) { count++; } } } } printf("%d",count); return 1; }
感觉这种好理解一点。
原文链接: https://www.cnblogs.com/yfish/p/9624391.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/281011
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!