bastien.monsarrat %!s(int64=6) %!d(string=hai) anos
pai
achega
1b42911ff5
Modificáronse 4 ficheiros con 180 adicións e 0 borrados
  1. 6 0
      Adv2016.sln
  2. 12 0
      D25/D25.csproj
  3. 132 0
      D25/Program.cs
  4. 30 0
      D25/input.txt

+ 6 - 0
Adv2016.sln

@@ -85,6 +85,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D24.1", "D24.1\D24.1.csproj
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D24.2", "D24.2\D24.2.csproj", "{35B60F35-4C11-437E-8B4D-8EE5F0E717B1}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "D25", "D25\D25.csproj", "{0ACA99D9-41DD-44CC-932E-508A747E7A14}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -255,6 +257,10 @@ Global
 		{35B60F35-4C11-437E-8B4D-8EE5F0E717B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{35B60F35-4C11-437E-8B4D-8EE5F0E717B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{35B60F35-4C11-437E-8B4D-8EE5F0E717B1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0ACA99D9-41DD-44CC-932E-508A747E7A14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0ACA99D9-41DD-44CC-932E-508A747E7A14}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0ACA99D9-41DD-44CC-932E-508A747E7A14}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0ACA99D9-41DD-44CC-932E-508A747E7A14}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 12 - 0
D25/D25.csproj

@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Folder Include="Properties\" />
+  </ItemGroup>
+
+</Project>

+ 132 - 0
D25/Program.cs

@@ -0,0 +1,132 @@
+/*
+
+d = a
+c = 11
+b = 231 <-----+
+d++; <------+ |
+b--;        | |
+goto (b) 4 -+ |
+c--;          |
+goto (c) 3 ---+ <---------+
+a = d;                    |
+                          |
+//Nothing happens <-----+ |
+b = a;                  | |
+a = 0;                  | |
+c = 2; <-----------+    | |
+goto (b) 17 -+ <-+ |    | |
+goto 23      |   | | -+ | |
+b--; <-------+   | |  | | |
+c--;             | |  | | |
+goto (c) 15 -----+ |  | | |
+a++;               |  | | |
+goto 14 -----------+  | | |
+                      | | |
+b = 2; <--------------+ | |
+goto (c) 26 -+ <-+      | |
+goto 29      |   | -+   | |
+b--; <-------+   |  |   | |
+c--;             |  |   | |
+goto (c) 24 -----+  |   | |
+//Nothing happens <-+   | |
+Console.Write(b);       | |
+goto (a) 11 ------------+ |
+goto 8 -------------------+
+
+========
+
+PARTIE1 :
+
+int d = a;
+
+for (int c = 0 ; c < 11 ; ++c)
+{
+	for (int b = 0 ; b < 231 ; ++b)
+	{
+		d++;
+	}
+} // d += 231 * 11; // d += 2541;
+a = d;
+
+PARTIE2 :
+
+b = a;
+a = 0;
+while (true) 
+{
+  c = 2;
+  do 
+  {
+    if (b == 0)
+		goto AFTER;
+    b--;
+    c--;
+  } while (c != 0);
+  a++;
+}
+
+
+//  c = 2 - a % 2;
+//	a /= 2;
+
+
+AFTER:
+
+b = 2;
+while (c > 0)
+{
+	b--;
+	c--;
+}
+Console.Write(b); 
+
+if (a > 0) goto PARTIE2;
+goto PARTIE1;
+
+========
+d = a;
+
+while (true)
+{
+	a = d + 2541;
+	
+	while (a > 0)
+	{
+		c = 2 - a % 2;
+		a /= 2;
+
+		b = 2 - c;
+		Console.Write(b);
+	}
+}
+
+========
+d = a;
+
+while (true)
+{
+	a = d + 2541;
+	
+	while (a > 0)
+	{
+		b = a % 2;
+		a /= 2;
+		Console.Write(b);
+	}
+}
+
+======>
+
+*/
+
+/*
+
+Réponse : On cherche un nombre additionné à 2541 dont la représentation binaire (12 bits)
+ et constitué d'une succession de 0 & 1.
+ 
+ 010101010101 -> 1365 -> Trop petit
+ 101010101010 -> 2730 -> OK
+ 
+ */
+ 
+// La réponse est : (2730 - 2541) 189

+ 30 - 0
D25/input.txt

@@ -0,0 +1,30 @@
+cpy a d
+cpy 11 c
+cpy 231 b
+inc d
+dec b
+jnz b -2
+dec c
+jnz c -5
+cpy d a
+jnz 0 0
+cpy a b
+cpy 0 a
+cpy 2 c
+jnz b 2
+jnz 1 6
+dec b
+dec c
+jnz c -4
+inc a
+jnz 1 -7
+cpy 2 b
+jnz c 2
+jnz 1 4
+dec b
+dec c
+jnz 1 -4
+jnz 0 0
+out b
+jnz a -19
+jnz 1 -21