Найти и вывести все семизначные числа, сумма цифр которых равна 7. С++
Вот код :
#include "stdafx.h"
#include
int main()
{
int n, a, b = 0;
for (int i = 1000000; i <= 9999999; i++)
{
n = i;
while (n > 0)
{
a = n % 10;
b += a;
n /= 10;
}
if (b == 7)
{
printf("%i\n", i);
}
}
system("pause");
return 0;
}
Почему-то не выводятся значения. В чем проблема?
По дате
По рейтингу
b обнулять забываешь
Лучше так
for(int a1=1;a1<=7;a1++)
for(int a2=0;a2<=7-a1;a2++)
...
for(int a6=0;a6<7-a1-a2-a3-a4-a5;a6++)
if(7-a1-a2-a3-a4-a5-a6>=0)cout<<a1<<a2<<a3<<a4<<a5<<a6<<a7<<"\n"
Нет смысла искать до 9999999, поскольку в числе не может быть цифр больше 7. Поскольку первая цифра не меньше единицы, только первая цифра может быть 7.