Перейти к содержанию

Задача


Deadman

Рекомендуемые сообщения

Задача: найти четырехзначное число, при делении которого на 6 остаток 1, на 7 остаток 2, на 8 остаток 3, на 9 остаток 4, при этом сумма двух первых чисел равна сумме двух последних

Кто первый найдет максимально правильный ответ с решением, тому 50 баллов :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

Ну у меня 2 получилось 2011 и 6547.

Решал так:

$num = 1000;
while($num < 10000) {

$val1 = $num/6;
$val1 = preg_replace("#^(.+?)(\.)(.+?)$#is","\\1",$val1);
$val1 = $val1 * 6 + 1;
$val2 = $num/7;
$val2 = preg_replace("#^(.+?)(\.)(.+?)$#is","\\1",$val2);
$val2 = $val2 * 7 + 2;
$val3 = $num/8;
$val3 = preg_replace("#^(.+?)(\.)(.+?)$#is","\\1",$val3);
$val3 = $val3 * 8 + 3;
$val4 = $num/9;
$val4 = preg_replace("#^(.+?)(\.)(.+?)$#is","\\1",$val4);
$val4 = $val4 * 9 + 4;


if($val1 == $num and $val2 == $num and $val3 == $num and $val4 == $num) {
	$num1 = substr($num,0,1);
	$num2 = substr($num,1,1);
	$num3 = substr($num,2,1);
	$num4 = substr($num,3,1);
	$first = $num1 + $num2;
	$second = $num3 + $num4;
	if($first == $second) {
			echo $num;
			echo "\r\n";
	}
	
}

$num = $num + 1;

}

Сори за нубский код - спать уже хочу )

Изменено пользователем vit9696
Ссылка на комментарий
Поделиться на другие сайты

Оно же на шарпе

using System;

class Program
{
static void Main(string[] args)
{
	for (int i = 1000; i < 10000; i++)
	{
		if (i % 10 + (i / 10) % 10 == (i / 100) % 10 + (i / 1000))
		{
			if (i % 6 == 1 && i % 7 == 2 && i % 8 == 3 && i % 9 == 4)
			{
				Console.WriteLine(i);
			}
		}
	}
}
}

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...