These two elements are extremely important to the next generation

本文探讨了计算机科学和英语对新一代的重要性。作者从个人经历出发,强调了计算机科学教育的延迟及其对日常生活的影响,同时指出英语作为全球通用语言的必要性。文章呼吁教育系统将计算机科学置于优先位置,并强调了英语沟通能力的价值。

Aha... to speak about elements which coming from your mind is something like chemical element just like the picture above demonstrates. Here, I try to talk about something diff from elements. The first one is Computer science, and the second element is English, I mean the English language, Why? Because my native language is not English, It is my second language. To the people who seem in my shoes, I recommend that you have to learn English well..😍

The Computer science

Why? I am a software programmer, of course, it's not the only reason, The truth is that no matter what we, the computer is part of the elements we live in, especial for the people birth after 21sth century, and I have been suffered from daily life work activity with computer-related kinds of stuff. Such as I need to help people to install the OS, or install some office software, etc. and it's not even part of my job, which cost a lot of my time. Why you can't complete so easy job with the computer? why so stupid even can't set up the router properly although Manufacturing factory already did so many automatic setting navigators. Why don't understand Virus and Software installation? Why the fucking thing's so simple but you still look like a dumb asshole just steering at it? these fundamental life skills always drive me crazy. So in my reflection think times, I summarized two main reasons why they lack these computer skills.

The computer science course engaged too late

Alright, allow me to introduce this truth from my personal story.
I was born 1987 and from a pretty normal peasant farmers family. My first time to get in touch(not exactly touch, in fact, we just saw it out there in the teacher's desktop) with the computer was in Aug. 2000, which was in middle school, The 3.5 inches floppy disk was the Computer science expression in that age. There was only one computer in the whole middle school, we could learn some basic conceptions from the computer course. No practical course, everything was in theory. After 2 years we got more computers, and even we could get involved with command practice every student. That was super exciting moments in a computer course, everyone was expected computer course. What're the main skills that we try to learn was how to type words.
in high school, we were able to use computer to chat with others through QQ or some other chat software, that society chat was damn crazy, make friends, love relationship, build website, build blog, Wow...the most fascination things was to go surfing on the internet after bedded lights off and craw over the wall to Internet bar...

So, in the computer course, we did not get many experiences with computer science. Actually, already forgot that weather we have computer science course in high school or not. 😂 Thanks to the Internet bars on the street for what my decision had been made base one some advertisement that shows in the screen which said,

The software engineer will be the hottest job position in the future.

ok, I believe that immediately when I saw it in the first place. Nowadays, it seems quite right, many more people joined this development army. I spent 3 years to study computer software stuff, actually, it's really difficult for me to understand most of the theory, programming language, database language... it's so complicated to me. My computer foundation was too weak, so I have studied harder than others, today I know something about it and more importantly, was that I found some way to learn computer science will. Also came out of this idea, computer science is pretty important not only for our generation but to the next generation.

I strongly suggest that the Education System has to make computer science as a top priority class course to study no matter which levels classes, it has to be incepts into the Education System properly. You wanna prosper life go learn computer science will...

Besides what I said, we also have many more official reasons

The Association of Computing Machinery is an international organization for computer scientists. The ACM has developed the following list of top ten reasons to study computer science which we quote:

  1. Computing is part of everything we do!
  2. Expertise in computing enables you to solve complex, challenging problems.
  3. Computing enables you to make a positive difference in the world.
  4. Computing offers many types of lucrative careers.
  5. Computing jobs are here to stay, regardless of where you are located.
  6. Expertise in computing helps even if your primary career is something else.
  7. Computing offers great opportunities for true creativity and innovativeness.
  8. Computing has space for both collaborative work and individual effort.
  9. Computing is an essential part of well-rounded academic preparation.
  10. Future opportunities in computing are without boundaries

The above was TOP TEN REASONS TO STUDY COMPUTER SCIENCE

The English Language

Why? about this point, hahahhaa... everyone can tell it easily, look at this article, like a piece of shit, grammar issues, spelling bugs and breaches everywhere.

The most critical and obviously was taken the first element as a reference, almost every program or software whatever you call are programmed in English, by guesses 99% of the existing programs.

BTW

At the begin I just want to write this article as a draft and fix spelling issues later, but it's getting longer and longer, then suddenly I only want to leave with what it is, why not learn from the future instead of to fix the history, be a lifelong learner not just a fixer.

 

https://kswen.github.io/post/these-two-elements-are-extremely-important-to-the-next-generation/

\documentclass[12pt]{article} \usepackage{amsmath, amssymb} \usepackage{graphicx} \usepackage{geometry} \usepackage{setspace} \usepackage{caption} \usepackage{titlesec} % 页面设置 \geometry{a4paper, margin=1in} \onehalfspacing % 调整章节标题格式 \titleformat{\section}{\large\bfseries}{\thesection}{1em}{} \titleformat{\subsection}{\normalsize\bfseries}{\thesubsection}{1em}{} % 论文信息 \title{Sieve of Eratosthenes} \author{Zhang Hongwei} \date{December 2, 2025} \begin{document} \maketitle \begin{abstract} This paper describes the Sieve of Eratosthenes, an ancient algorithm for identifying all prime numbers up to a given limit $ n $. The method works by iteratively marking the multiples of each prime starting from 2. We outline its procedure, justify key optimizations, analyze time and space complexity, and compare it with modern variants. A flowchart is included to illustrate the execution process. \end{abstract} \section{Introduction} Finding all primes less than or equal to $ n $ is a basic problem in number theory. While checking individual numbers for primality can be done by trial division, generating many primes efficiently requires a different approach. The Sieve of Eratosthenes, attributed to the Greek mathematician Eratosthenes in the 3rd century BCE, provides a simple and effective solution. It avoids expensive divisibility tests by eliminating composite numbers through multiplication: once a number is identified as prime, all of its multiples are marked as non-prime. Given a positive integer $ n $, the algorithm produces all primes $ \leq n $. Its time complexity is $ O(n \log \log n) $, and it uses $ O(n) $ memory. This makes it practical for $ n $ up to several million on modern computers. \section{Basic Idea} A prime number has no divisors other than 1 and itself. The sieve exploits the fact that every composite number must have at least one prime factor not exceeding its square root. Starting with a list of integers from 2 to $ n $, we proceed as follows: \begin{itemize} \item Mark 2 as prime, then mark all multiples of 2 greater than $ 2^2 = 4 $ as composite. \item Move to the next unmarked number (3), mark it as prime, and eliminate multiples starting from $ 3^2 = 9 $. \item Repeat this process for each new prime $ p $ until $ p > \sqrt{n} $. \end{itemize} After completion, all unmarked numbers are prime. \subsection*{Why start from $ p^2 $?} Any multiple of $ p $ less than $ p^2 $, say $ k \cdot p $ where $ k < p $, would have already been marked when processing smaller primes. For example, $ 6 = 2 \times 3 $ is removed during the pass for 2. Thus, there's no need to revisit these values. \subsection*{Why stop at $ \sqrt{n} $?} If a number $ m \leq n $ is composite, it can be written as $ m = a \cdot b $, with $ 1 < a \leq b $. Then: \[ a^2 \leq a \cdot b = m \leq n \quad \Rightarrow \quad a \leq \sqrt{n}. \] So $ m $ must have a prime factor $ \leq \sqrt{n} $. Therefore, scanning beyond $ \sqrt{n} $ is unnecessary. \section{Implementation Steps} Consider $ n = 100 $. We use a boolean array \texttt{prime[0..100]}, initialized to \texttt{true}. Set \texttt{prime[0]} and \texttt{prime[1]} to \texttt{false}. \begin{enumerate} \item Start with $ p = 2 $. Since \texttt{prime[2]} is true, mark $ 4, 6, 8, \dots, 100 $ as false. \item Next, $ p = 3 $ is unmarked. Mark $ 9, 15, 21, \dots $ (odd multiples $ \geq 9 $). \item $ p = 4 $ is already marked; skip. \item $ p = 5 $ is prime. Mark $ 25, 35, 45, \dots $ \item $ p = 7 $: mark $ 49, 77, 91 $ \item $ p = 11 > \sqrt{100} $, so stop. \end{enumerate} All indices $ i \geq 2 $ where \texttt{prime[i] == true} are prime. \begin{figure}[h!] \centering \includegraphics[width=0.7\linewidth]{Flowchart.jpg} \caption{Flowchart of the Sieve of Eratosthenes algorithm} \label{fig:flowchart} \end{figure} Figure~\ref{fig:flowchart} shows the control flow: initialization, loop over $ p $ from 2 to $ \sqrt{n} $, and marking multiples starting at $ p^2 $. \section{Complexity Analysis} \subsection{Time Usage} For each prime $ p \leq \sqrt{n} $, we mark about $ n/p $ elements. Summing over such $ p $: \[ T(n) \approx n \sum_{\substack{p \leq \sqrt{n} \\ p\ \text{prime}}} \frac{1}{p}. \] It is known from number theory that the sum of reciprocals of primes up to $ x $ grows like $ \log \log x $. So: \[ \sum_{p \leq \sqrt{n}} \frac{1}{p} \sim \log \log \sqrt{n} = \log(\tfrac{1}{2}\log n) = \log \log n + \log \tfrac{1}{2} \approx \log \log n. \] Hence, total time is $ O(n \log \log n) $. \subsection{Memory Requirement} The algorithm requires one boolean value per integer from 0 to $ n $, leading to $ O(n) $ space usage. \section{Variants and Practical Considerations} \begin{table}[h!] \centering \caption{Common methods for generating primes} \label{tab:methods} \begin{tabular}{|l|c|c|l|} \hline Method & Time & Space & Remarks \\ \hline Trial division (single number) & $O(\sqrt{n})$ & $O(1)$ & Simple, slow for batches \\ Standard sieve & $O(n \log \log n)$ & $O(n)$ & Good for $ n \leq 10^7 $ \\ Segmented sieve & $O(n \log \log n)$ & $O(\sqrt{n})$ & Reduces memory usage \\ Linear sieve (Euler) & $O(n)$ & $O(n)$ & Faster in theory, more complex \\ \hline \end{tabular} \end{table} In practice, the standard sieve performs well due to good cache behavior and low constant factors. For very large $ n $, segmented versions divide the range into blocks processed separately. The linear sieve improves asymptotic time by ensuring each composite is crossed off exactly once using its smallest prime factor, but the overhead often negates benefits for moderate inputs. \section{Conclusion} The Sieve of Eratosthenes remains a fundamental tool in algorithm design. Its simplicity allows easy implementation and teaching, while its efficiency supports real-world applications in cryptography, number theory, and data processing. Although newer algorithms exist, the original sieve continues to be relevant—especially when clarity and reliability matter more than marginal speed gains. With minor improvements, it scales well within typical computational limits. \section{References} \begin{thebibliography}{9} \bibitem{knuth} Donald E. Knuth. \textit{The Art of Computer Programming, Volume 2: Seminumerical Algorithms}. 3rd Edition, Addison-Wesley, 1997. ISBN: 0-201-89684-2. (See Section 4.5.4 for discussion of prime number sieves.) \bibitem{hardy} G. H. Hardy and E. M. Wright. \textit{An Introduction to the Theory of Numbers}. 6th Edition, Oxford University Press, 2008. ISBN: 978-0-19-921986-5. (Chapter 1 discusses prime numbers and includes historical notes on Eratosthenes.) \bibitem{pomerance} Carl Pomerance. \newblock “A Tale of Two Sieves.” \newblock \textit{Notices of the American Mathematical Society}, vol.~43, no.~12, pp.~1473–1485, December 1996. Available online: \url{https://www.ams.org/journals/notices/199612/199612FullIssue.pdf#page=1473} \bibitem{crandall} Richard Crandall and Carl Pomerance. \textit{Prime Numbers: A Computational Perspective}. 2nd Edition, Springer, 2005. ISBN: 978-0-387-25282-7. (A detailed treatment of sieve methods including Eratosthenes and segmented variants.) \bibitem{eratosthenes-original} Thomas L. Heath (Ed.). \textit{Greek Mathematical Works, Volume II: From Aristarchus to Pappus}. Harvard University Press (Loeb Classical Library), 1941. ISBN: 978-0-674-99396-7. (Contains surviving fragments and references to Eratosthenes’ work in ancient sources.) \end{thebibliography} \end{document} 修改错误 ,并且增加字数在2000字左右
12-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wenkaishun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值