Bladeren bron

[C] Adding solution for problem 5

Vinicius Teshima 1 jaar geleden
bovenliggende
commit
29356be6a0
4 gewijzigde bestanden met toevoegingen van 42 en 4 verwijderingen
  1. 2 1
      c/.gitignore
  2. 26 0
      c/0005.c
  3. 8 3
      c/Makefile
  4. 6 0
      c/Project.ede

+ 2 - 1
c/.gitignore

@@ -5,4 +5,5 @@
 0001
 0002
 0003
-0004
+0004
+0005

+ 26 - 0
c/0005.c

@@ -0,0 +1,26 @@
+#include <stdio.h>
+#include <stdint.h>
+
+int
+main(int argc, const char **argv)
+{
+	uint64_t res = 0;
+	uint64_t i = 1, j = 1;
+	uint64_t upper_limit = 20;
+
+	while ( 1 ) {
+		for ( j = 1; j <= upper_limit; ++j ) {
+			if ( i % j != 0 ) {
+				goto failed;
+			}
+		}
+		res = i;
+		break;
+	failed:
+		++i;
+	}
+
+	printf("Result = %ld!\n", res);
+	(void) argc; (void) argv;
+	return 0;
+}

+ 8 - 3
c/Makefile

@@ -23,13 +23,15 @@ C_LINK=$(CC) $(CFLAGS) $(LDFLAGS) -L.
 0003_OBJ= 0003.o
 0004_SOURCES=0004.c
 0004_OBJ= 0004.o
+0005_SOURCES=0005.c
+0005_OBJ= 0005.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
+DEP_FILES=.deps/0001.P .deps/0002.P .deps/0003.P .deps/0004.P .deps/0005.P
 
-all: 0001 0002 0003 0004
+all: 0001 0002 0003 0004 0005
 
 DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
 -include $(DEP_FILES)
@@ -50,6 +52,9 @@ DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
 0004: $(0004_OBJ)
 	$(C_LINK) -o $@ $^ $(LDDEPS)
 
+0005: $(0005_OBJ)
+	$(C_LINK) -o $@ $^ $(LDDEPS)
+
 tags: 
 
 
@@ -60,7 +65,7 @@ clean:
 
 dist:
 	mkdir $(DISTDIR)
-	cp $(0001_SOURCES) $(0002_SOURCES) $(0003_SOURCES) $(0004_SOURCES) $(ede_FILES) $(DISTDIR)
+	cp $(0001_SOURCES) $(0002_SOURCES) $(0003_SOURCES) $(0004_SOURCES) $(0005_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

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