В каких двузначных числах удвоенная сумма цифр равна их произведению? (программа работает неправильно) - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int x,i,j;
for(i=10;i<99;i++)
for(j=10;j<99;j++)
{
printf("\n Input chiclo ot 10 do 99 i=,j=");
scanf("%d%d",&i,&j);
}
{
for(i=10;i<99;i++)
for(j=10;j<99;j++)
if (2*(i+j)==i*j)
printf("\n x=%d",x);
}
system("PAUSE");
return 0;
}Решение задачи: «В каких двузначных числах удвоенная сумма цифр равна их произведению? (программа работает неправильно)»
textual
Листинг программы
#include <stdio.h>
int main(void) {
for (int i=1; i <=9; ++i) {
for (int j=0; j <= 9; ++j) {
if (2*(i+j) == i*j) {
printf("%d\n", 10*i+j);
}
}
}
return 0;
}
Объяснение кода листинга программы
В этом коде есть два вложенных цикла. Первый цикл идет от 1 до 9, а второй от 0 до 9. В каждой итерации первого цикла выполняется проверка, является ли удвоенная сумма текущих значений i и j равной их произведению. Если это так, то число, состоящее из 10-кратного значения i и j, выводится на экран.