(3)写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。

解析:x+2y+5z=100; 若用循环0<=X<=100,0<=X<=50,0<=X<=20判断效率太低。

方案:x+2y=100-5z;

        z=0,   0<=2y<=100;

        z=z,    0<=2y<=100-5z;  

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int y,z;
int result=0;
for(z=0;z<=20;z++)
for(y=0;y<=(100-5*z)/2;y++)
result++;
cout<<result;
system("pause");
return 0;
}

posted @ 2016-02-29 10:16  水木_清风  阅读(1200)  评论(0编辑  收藏  举报