代码不需要在一个控制台行或文本文件中重复强力球号码。我认为它在if语句中的某处。前五个数字是白色球,输出行中的结束数字位于选项卡之后。 1 2 3 59 59 1
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
ofstream out_stream;
out_stream.open("powerball.txt"); // text file
for (int i = 1; i <= 59; i++)
{
for (int j = 1; j <= 59; j++) // loop and if statements for powerball repeat check
{
if (j == i)
{
j = i + 1;
}
if (j == 60)
{
j = j - 1;
}
for (int k = 1; k <= 59; k++) // loop and if statements with powerball repeat check
{
if (k == i)
{
k = k + 1;
if (k == j)
{
k = k + 1;
}
}
if (k == 60)
{
k = k - 1;
}
for (int l = 1; l <= 59; l++) // loop and if statements with powerball repeat check
{
if (l == i)
{
l = l + 1;
if (l == j)
{
l = l + 1;
if (l == k)
{
l = l + 1;
}
}
}
if (l == 60)
{
l = l - 1;
}
for (int m = 1; m <= 59; m++) // loop and if statements for powerball repeat check
{
if (m == i)
{
m = m + 1;
if (m == j)
{
m = m + 1;
if (m == k)
{
m = m + 1;
if (m == l)
{
m = m + 1;
}
}
}
}
if (m == 60)
{
m = m - 1;
}
for (int n = 1; n <= 35; n++) // red ball and output count
{
out_stream << i << " " << j << " " << k << " " << l << " " << m << "\t" << n << "\n";
cout << i << " " << j << " " << k << " " << l << " " << m << "\t" << n << "\n";
}
}
}
}
}
}
}
答案 0 :(得分:1)
正如本所说,if语句如果有重复则加1则不起作用。首先,每个if语句都需要检查之前的所有变量,以确保没有重叠。 恩。 &#34; m&#34;中的if语句循环如下:
if(m==l || m==k || m==j || m==i){
m++;
}
然而,如果没有连续的数字,例如k = 1,j = 2,这只会解决问题。您需要使用while循环来解决此问题,使您的语句如下:
while(m==l || m==k || m==j || m==i){
m++;
}
总之,要列出所有可能性,您的计划将是 #包括 #包括 使用namespace std;
void main()
{
ofstream out_stream;
out_stream.open("powerball.txt"); // text file
for(int i=1; i<=59; i++){
for(int j=1; j<=59; j++){
while(j==i){
j++;
}
if(j>59) break;
for(int k=1; k<=59; k++){
while(k==j || k==i){
k++;
}
if(k>59) break;
for(int l=1; l<=59; l++){
while(l==k || l==j || l==i){
l++;
}
if(l>59) break;
for(int m=1; m<=59; m++){
while(m==l || m==k || m==j || m==i){
m++;
}
if(m>59) break;
for (int n = 1; n <= 35; n++) // red ball and output count
{
out_stream << i << " " << j << " " << k << " " << l << " " << m << "\t" << n << "\n";
cout << i << " " << j << " " << k << " " << l << " " << m << "\t" << n << "\n";
}
}
}
}
}
}
}
根据您的需要,更好的解决方案是随机选择5个数字,除非您需要列出所有这些数字。
编辑: 确保你有足够的磁盘空间来运行它,它会生成一个~352GB的文件,里面装满了数字。