Сумма цифр без остатка в 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;
}