From 3c1b6bdc2886a1b916dac660e91269522583bc0c Mon Sep 17 00:00:00 2001 From: UltraDesu Date: Sat, 17 Apr 2021 15:47:20 +0300 Subject: [PATCH] Fix java ver. Update Python ver. Got rid of binary --- .gitignore | 10 ++++++++++ sum.java => Sum.java | 17 ++++++++--------- new_sum.py | 8 -------- som.js => sum.js | 0 sum.py | 20 +++++++++++--------- 5 files changed, 29 insertions(+), 26 deletions(-) create mode 100644 .gitignore rename sum.java => Sum.java (64%) delete mode 100644 new_sum.py rename som.js => sum.js (100%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..06d3229 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +a.out +.a.out.c +counter +*.swp +.idea +Main.class +sum +sum.bin +sum.build +Sum.class diff --git a/sum.java b/Sum.java similarity index 64% rename from sum.java rename to Sum.java index f634ce9..3c4b1bc 100644 --- a/sum.java +++ b/Sum.java @@ -1,20 +1,19 @@ -public class Main { - +public class Sum { public static void main(String[] args) { long start = System.currentTimeMillis(); long number = 1_000_000_000; long result = 0; - for (int i = 0; i < number; i++) { - if (i<10){ - result += i; - }else { - result = result + (i % 10) + (i/10); - } + for (int i = 0; i <= number; i++) { + long tmp = i; + while (tmp > 0) { + result = result + tmp % 10; + tmp = tmp / 10; + } } System.out.println(result); long finish = System.currentTimeMillis(); long elapsed = finish - start; System.out.println("Прошло времени, мс: " + elapsed); } -} \ No newline at end of file +} diff --git a/new_sum.py b/new_sum.py deleted file mode 100644 index 744d5c5..0000000 --- a/new_sum.py +++ /dev/null @@ -1,8 +0,0 @@ -num = 123 -res = 0 - -while num > 0: - res = res + num % 10 - num = int(num / 10) - -print(res) diff --git a/som.js b/sum.js similarity index 100% rename from som.js rename to sum.js diff --git a/sum.py b/sum.py index aa460a8..3b7ce12 100644 --- a/sum.py +++ b/sum.py @@ -9,21 +9,23 @@ import time # calculating summ between start and end. def sumumatoru_kun(start, end, number, return_dict): t = time.process_time() - sum_ = 0 + res = 0 ss = start ee = end while start <= end: - for digit in str(start): - sum_ += int(digit) + khui = start + while khui > 0: + res = res + khui % 10 + khui = int(khui / 10) start += 1 - return_dict[number] = sum_ + return_dict[number] = res elapsed_time = time.process_time() - t - print(" %s\t|%10d\t|%10d\t|%10d\t|\t%6.2f" % (number, ss, ee, sum_, elapsed_time)) - return sum_ + print(" %s\t|%10d\t|%10d\t|%10d\t|\t%6.2f" % (number, ss, ee, res, elapsed_time)) + return res -def summ(): +def sum(): start = 0 - end = 100000000 + end = 1000000000 thread_count = multiprocessing.cpu_count() * 2 shift = int((end - start) / thread_count) @@ -52,4 +54,4 @@ def summ(): print("\n\tFinal result is %d" % result) if __name__ == '__main__': - summ() + sum()