Преглед изворни кода

[C] Adding Solution for Problem 0009

Vinicius Teshima пре 1 година
родитељ
комит
3f6d2a2dd8
4 измењених фајлова са 48 додато и 4 уклоњено
  1. 2 1
      c/.gitignore
  2. 32 0
      c/0009.c
  3. 8 3
      c/Makefile
  4. 6 0
      c/Project.ede

+ 2 - 1
c/.gitignore

@@ -9,4 +9,5 @@
 0005
 0006
 0007
-0008
+0008
+0009

+ 32 - 0
c/0009.c

@@ -0,0 +1,32 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int
+main(int argc, const char **argv)
+{
+	uint64_t res = 0;
+	uint64_t a = 1, b = 1, c = 1;
+	uint64_t upper_limit = 1000;
+
+	for ( a = 1; a < upper_limit; ++a ) {
+		for ( b = 1; b < upper_limit; ++b ) {
+			for ( c = 1; c < upper_limit; ++c ) {
+				if ( ((a*a) + (b*b)) != (c*c) ) {
+					continue;
+				}
+
+				if ( (a+b+c) != 1000 ) {
+					continue;
+				}
+
+				res = a*b*c;
+				goto end;
+			}
+		}
+	}
+
+end:
+	printf("Result = %ld!\n", res);
+	(void) argc; (void) argv;
+	return 0;
+}

+ 8 - 3
c/Makefile

@@ -31,13 +31,15 @@ C_LINK=$(CC) $(CFLAGS) $(LDFLAGS) -L.
 0007_OBJ= 0007.o
 0008_SOURCES=0008.c
 0008_OBJ= 0008.o
+0009_SOURCES=0009.c
+0009_OBJ= 0009.o
 VERSION=1.0
 DISTDIR=$(top)ProjectEuler_C-$(VERSION)
 top_builddir = 
 
-DEP_FILES=.deps/0001.P .deps/0002.P .deps/0003.P .deps/0004.P .deps/0005.P .deps/0006.P .deps/0007.P .deps/0008.P
+DEP_FILES=.deps/0001.P .deps/0002.P .deps/0003.P .deps/0004.P .deps/0005.P .deps/0006.P .deps/0007.P .deps/0008.P .deps/0009.P
 
-all: 0001 0002 0003 0004 0005 0006 0007 0008
+all: 0001 0002 0003 0004 0005 0006 0007 0008 0009
 
 DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
 -include $(DEP_FILES)
@@ -70,6 +72,9 @@ DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
 0008: $(0008_OBJ)
 	$(C_LINK) -o $@ $^ $(LDDEPS)
 
+0009: $(0009_OBJ)
+	$(C_LINK) -o $@ $^ $(LDDEPS)
+
 tags: 
 
 
@@ -80,7 +85,7 @@ clean:
 
 dist:
 	mkdir $(DISTDIR)
-	cp $(0001_SOURCES) $(0002_SOURCES) $(0003_SOURCES) $(0004_SOURCES) $(0005_SOURCES) $(0006_SOURCES) $(0007_SOURCES) $(0008_SOURCES) $(ede_FILES) $(DISTDIR)
+	cp $(0001_SOURCES) $(0002_SOURCES) $(0003_SOURCES) $(0004_SOURCES) $(0005_SOURCES) $(0006_SOURCES) $(0007_SOURCES) $(0008_SOURCES) $(0009_SOURCES) $(ede_FILES) $(DISTDIR)
 
 Makefile: Project.ede
 	@echo Makefile is out of date!  It needs to be regenerated by EDE.

+ 6 - 0
c/Project.ede

@@ -52,6 +52,12 @@
       :name "0008"
       :path ""
       :source '("0008.c")
+      :configuration-variables '("debug" ("CFLAGS" . "-g") ("LDFLAGS" . "-g")))
+    (ede-proj-target-makefile-program "0009"
+      :object-name "0009"
+      :name "0009"
+      :path ""
+      :source '("0009.c")
       :configuration-variables '("debug" ("CFLAGS" . "-g") ("LDFLAGS" . "-g"))))
   :configurations '("debug" "release")
   :object-name "ProjectEuler_C"