Подберем числа из которых можно получить данные нам числа 87 из 1222 250 из 7099 656136 из 9999 Всего 3
Не подошли: 58: только 5 и 8, что противоречит п2 124: только 12 и 4 не нарушают п2. 4 = 1+1+1+1, 1*1*1*1=1 <> 12 4 = 1*1*1*4 = 1*1*2*2 , 1+1+1+4=7 <> 12, 1+1+2+2 = 6 <> 12 411: только 41 и 1 не нарушают п2. 1 = 1+0+0+0, 1*0*0*0 = 0 <> 41 1 = 1*1*1*1, 1+1+1+1 = 4 <> 41 1711: только (17 и 11) и (171 и 1) не нарушают п2. (171 и 1), случай с 1 рассмотрен выше (17 и 11): 17 = 17*1*1*1, 17+1+1+1 = 20 < 11 11 = 11*1*1*1, 11+1+1+1 = 14 < 17 841424: только (84142 и 4) и (8414 и 24) и (841 и 424) не нарушают п2. Максимум суммы 4 цифр = 9+9+9+9 = 36 Максимум произведения 4 цифр = 9*9*9*9 = 6561 (841 и 424): оба числа больше максимума суммы (84142 и 4) и (8414 и 24): 84142 и 8414 больше максимума произведения
#include <math.h>
int isPrime(int x)
{
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0) return 0;
}
return 1;
}
int main()
{
/* Ввод значений */
int n;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
/* Поиск минимального значения */
int min = nums[0];
for (int i = 1; i < n; i++) {
if (nums[i] < min) min = nums[i];
}
/* Поиск делителя */
int ret = 0;
int isDiv = 1;
for (int i = min; i > 1; i--) {
printf("test %d\n", i);
if (isPrime(i)) {
printf(" %d prime\n", i);
for (int j = 0; j < n; j++) {
if (nums[j] % i != 0) {
printf(" on pos %d not div %d\n", j, i);
isDiv = 0;
break;
}
}
if (isDiv) {
ret = i;
printf(" ret = %d, break\n", ret);
break;
}
else {
isDiv = 1;
}
}
}
printf("%d", ret);
return 0;
}
87 из 1222
250 из 7099
656136 из 9999
Всего 3
Не подошли:
58: только 5 и 8, что противоречит п2
124: только 12 и 4 не нарушают п2.
4 = 1+1+1+1, 1*1*1*1=1 <> 12
4 = 1*1*1*4 = 1*1*2*2 , 1+1+1+4=7 <> 12, 1+1+2+2 = 6 <> 12
411: только 41 и 1 не нарушают п2.
1 = 1+0+0+0, 1*0*0*0 = 0 <> 41
1 = 1*1*1*1, 1+1+1+1 = 4 <> 41
1711: только (17 и 11) и (171 и 1) не нарушают п2.
(171 и 1), случай с 1 рассмотрен выше
(17 и 11): 17 = 17*1*1*1, 17+1+1+1 = 20 < 11
11 = 11*1*1*1, 11+1+1+1 = 14 < 17
841424: только (84142 и 4) и (8414 и 24) и (841 и 424) не нарушают п2.
Максимум суммы 4 цифр = 9+9+9+9 = 36
Максимум произведения 4 цифр = 9*9*9*9 = 6561
(841 и 424): оба числа больше максимума суммы
(84142 и 4) и (8414 и 24): 84142 и 8414 больше максимума произведения