作业帮 > 综合 > 作业

用1-9 组成3 个三位数(每个数字均要用上),使其相加和为1953,打印出所有可能性,并统计总数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 04:18:59
用1-9 组成3 个三位数(每个数字均要用上),使其相加和为1953,打印出所有可能性,并统计总数
c++,不能用数组和函数,
最笨的办法,不过效率有些低
#include
using namespace std;\x09
void main()
{
\x09int\x09\x09a,b,c;
\x09long\x09sum,count = 0;
\x09bool\x09_1,_2,_3,_4,_5,_6,_7,_8,_9;
\x09for(a = 123; a < 988; a++)
\x09\x09for(b = 123; b < 988; b++)
\x09\x09\x09for(c = 123; c < 988; c++)
\x09\x09\x09{
\x09\x09\x09\x09_1 = _2 = _3 = _4 = _5 = _6 = _7 = _8 = _9 = 0;
\x09\x09\x09\x09sum = a * 1000000 + b * 1000 + c;
\x09\x09\x09\x09for(int i = 0; i < 9; i++)
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09switch(sum % 10)
\x09\x09\x09\x09\x09{
\x09\x09\x09\x09\x09case 1:_1 = 1; break;
\x09\x09\x09\x09\x09case 2:_2 = 1; break;
\x09\x09\x09\x09\x09case 3:_3 = 1; break;
\x09\x09\x09\x09\x09case 4:_4 = 1; break;
\x09\x09\x09\x09\x09case 5:_5 = 1; break;
\x09\x09\x09\x09\x09case 6:_6 = 1; break;
\x09\x09\x09\x09\x09case 7:_7 = 1; break;
\x09\x09\x09\x09\x09case 8:_8 = 1; break;
\x09\x09\x09\x09\x09case 9:_9 = 1; break;
default:break;
\x09\x09\x09\x09\x09}
\x09\x09\x09\x09\x09sum /= 10;
\x09\x09\x09\x09\x09if( _1 && _2 && _3 && _4 && _5 && _6 && _7 && _8 && _9 && a + b + c == 1953)
\x09\x09\x09\x09\x09{
\x09\x09\x09\x09\x09\x09count++;
\x09\x09\x09\x09\x09\x09cout