Сумма цифр без остатка в C

Я немного запутался, создав свою программу. Может быть, вы, ребята, можете мне помочь. я хочу получить каждое число, которое является суммой без остатка, установив n как пользовательское число. например: 777 (7+7+7= 21...777/21=37, но НЕ 25 2+5=7 25/7= 3,57...

не было ли проблемы, пока у не станет больше 10... может быть, я могу решить ее с помощью if?

.cfile:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>



int main() {


int n, x = 9, n1 = 0, z, j, y;
printf("ENTER: ");
scanf("%d", &n);
while (n >= n1){
n1++;
x++;
z = x % 10;
y = x / 10;
j = y + z;


if(x % j == 0)

printf("%d\n", x);

}

return EXIT_SUCCESS;
}

РЕДАКТИРОВАТЬ:

Хорошо, я смог создать его с помощью INT_MAX, добавив больше команд if, которые повторяют y, если их больше 10. Но я думаю, что это можно сделать намного проще, выполнив это в 1 или 2 циклах: S

new.cfile:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int main() {


int a = 0, b = 0;

while(a + b != 17){
if(a == b){
while( a <= 9) {
printf("[%d,%d]\n", a, b);
a++;
b++;
}
}



    a = 0;
    b = 0;
    while ( b < 9){
    b++;
    printf("[%d,%d]\n", a, b);
}

    a = 1;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    printf("[%d,%d]\n", a, b);
}
    a = 2;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    if(a -1 != b)
    printf("[%d,%d]\n", a, b);
}
    a = 3;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    if( a - 1 != b)
    if( a - 2 != b)
    printf("[%d,%d]\n", a, b);
}
    a = 4;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    if( a - 1 != b)
    if( a - 2 != b)
    if( a - 3 != b)

    printf("[%d,%d]\n", a, b);
}
    a = 5;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    if( a - 1 != b)
    if( a - 2 != b)
    if( a - 3 != b)
    if( a - 4 != b)
    printf("[%d,%d]\n", a, b);
}
    a = 6;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    if( a - 1 != b)
    if( a - 2 != b)
    if( a - 3 != b)
    if( a - 4 != b)
    if( a - 5 != b)
    printf("[%d,%d]\n", a, b);
}
    a = 7;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    if( a - 1 != b)
    if( a - 2 != b)
    if( a - 3 != b)
    if( a - 4 != b)
    if( a - 5 != b)
    if( a - 6 != b)
    printf("[%d,%d]\n", a, b);
}
    a = 8;
    b = 0;
    while ( b < 9){
    b++;
    if( a != b)
    if( a - 1 != b)
    if( a - 2 != b)
    if( a - 3 != b)
    if( a - 4 != b)
    if( a - 5 != b)
    if( a - 6 != b)
    if( a - 7 != b)
    printf("[%d,%d]\n", a, b);
}


}

    return EXIT_SUCCESS;
}

0 ответов

Другие вопросы по тегам