pyobfuscate通过多种方式改变源码,一些可以被反解,一些不可以。
pyobfuscate的混淆时做了以下事:首先,编程的介绍需要一个循序渐进的过程,我们需要了解基本的编程语法,从解决基本的数学问题开始,然后开始学习编程语言。以学习java编程语言为例,我们首先需要了解java语言中的基本编程元素,包括类、对象、属性和方法。然后我们开始学习如何构建面向对象的编程过程,包括类设计、对象创建和方法调用。在学习了基本的过程控制之后,我们可以解决一些简单的数学问题,例如,在指定的范围内寻找素数,等等。这个过程是打开编程之门的第一步。通过这一阶段的学习,我们也可以在一定程度上培养自己对编程的兴趣。
其次,编程之初构建了初步的编程思路。所谓编程思维就是通过编程语言来解决问题的方法,它只是一个抽象的过程。锻炼编程思维最有效的方法之一就是完成大量的实验。通过不断的实验总结,形成自己的编程思路。因此,如果说学习编程有捷径的话,那就是不断地做实验。
最后,入门级编程需要一个完整的知识结构,包括操作系统、计算机网络、数据库、算法设计和数据结构。在当前的大数据和云计算时代,我们还需要掌握大数据和云计算的相关知识,特别是IAAs和PAAS。这些知识可以在学习程序设计语言的过程中同时习得,对这些内容的掌握将对程序设计能力产生很大的影响。
最后,目前有许多编程语言。对于基础薄弱的初学者,他们可以从Python开始。
质数:2、3、5、7、11、13、17、19、23、29……(OEIS中的数列A000040)
梅森质数:3、7、31、127、8191、131071、524287、2147483647……(OEIS中的数列A000668)
费马质数:3、5、17、257、65537(目前只找到5个)(OEIS中的数列A019434)
幸运质数:3、7、13、31、37、43、67、73、79、127……(OEIS中的数列A031157)
孪生质数(前项):3、5、11、17、29、41、59、71、101、107……(OEIS中的数列A001359)
孪生质数(后项):5、7、13、19、31、43、61、73、103、109……(OEIS中的数列A006512)
非正规质数(irregular prime):37、59、67、101、103、131、149、157、233、257……(OEIS中的数列A000928)
毕达哥拉斯质数(Pythagorean prime):5、13、17、29、37、41、53、61、73、89……(OEIS中的数列A002144)
陈质数(Chen prime):2、3、5、7、11、13、17、19、23、29、31、37、41、47……(OEIS中的数列A109611)
普罗斯质数(Proth prime):3、5、13、17、41、97、113、193、241、257……(OEIS中的数列A080076)
阶乘素数:2、3、5、7、23、719、5039、39916801、479001599……(OEIS中的数列A088054)
反素数:13、17、31、37、71、73、79、97、107、113……(OEIS中的数列A006567)
强素数:11、17、29、37、41、59、67、71、79、97……(OEIS中的数列A051634)
瓦格斯塔夫质数:3、5、7、11、13、17、19、23、31、43……(OEIS中的数列A000978)
爱森斯坦质数(Eisenstein prime):2、5、11、17、23、29、41、47、53、59……(OEIS中的数列A003627)
安全质数:5、7、11、23、47、59、83、107、167、179……(OEIS中的数列A005385)
索菲热尔曼质数:2、3、5、11、23、29、41、53、83、89……(OEIS中的数列A005384)
胡道尔质数:7、23、383、32212254719、2833419889721787128217599……(OEIS中的数列A050918
#include<stdio.h>//加载函数库
#include<math.h>//加载函数库
main()
{
intm,k,i,n=0;//定义变量mkin为整型,而且n的初始值为0
for(m=101;m<200;m+=2)//for循环从101到200,步进为2,因为偶数为非素数,使用步进为2,判断奇数中的素数
{
k=sqrt((double)m);//判断素数方法:m对2到m的开方的所有数都不能够整除,k取m的开方
for(i=2;i<=k;i++)//for循环从2到m的开方k
if(m%i==0)//m对i求余,求余为0则表示m能够别i整除
break;//如果m能够别i整除,则表示m为非素数,退出素数判断的循环
if(i>k)//判断i是否大于k,即当m为素数时,m不能够被2到k的数整除,则判断素数的循环不会中途退出,则循环执行完后i=k+1
{
printf("%4d",m);//输出素数
n++;//素数的个数+1
}
if(n%10==0)//输出10个素数则换行输出
printf("\n");//输出换行
}
printf("\n");//输出换行
}