题目: 体育彩票采用整数1,2,3,…,36表示36种体育运动,一张彩票可选择7种运动。编写程序,选择一张彩票的号码,使这张彩票的7个号码之和是105且相邻两个号码之差按顺序依次是1,2,3,4,5,6。
例如:第一个号码是1,则后续号码应为2、4、7、11、16、22
#include <iostream>
using namespace std;
void main()
{
int a[7];//定义一个数组
int i=0;
int sum=0;
for(a[0]=1;a[0]<=15;a[0]++)//选择彩票首数字,因为最大是36且递增,故第一个数字最大为15
{
int sum=0;
for(i=1;i<=6;i++)//求出数组彩票其余数字
a[i]=a[i-1]+i;
sum=0;
for(i=0;i<7;i++)//求和
sum=sum+a[i];
if(sum==105)//判断和是否为105
{
for(i=0;i<=6;i++)// 输出彩票数字
{
cout<<" "<<a[i];
}
cout<<endl;
}
}
}
程序运行结果如下:
如有错误,欢迎指正,感谢