小知识
continue:跳出本次循环,即继续循环,i++要执行;
break:跳出当前循环体,执行循环之后的代码,i++就不会再执行了;
利用质因数分解式来求欧拉函数
质因数分解式:从最小的质数2开始,去除n,直到不能除尽,再用3去除。。。最后直到1,例如2646=2*3*3*3*7*7;
百度有demo
scanf与字符串:scanf读入字符串时如果有空格,则处理为下一个字符串的内容。
char a[1000],b[10000];(声明必须是字符串数组);
scanf("%s%s",&a,&b);
printf("%s\n",a);
printf("%s\n",b);
如果想接收包含空格的字符串并保存在一个变量里,使用循环里的gets():一个字符串整体读入,直到\n为止;
如果是接收单个字符,使用getchar();
EPS是个很小的数,如1e-6,因为浮点数在内存中的表示是不精确的,会有很微小的误差,所以判断是否为0,就看它的绝对值是不是<=EPS。即用if(fabs(x)<=eps)为真,则x=0;
C 语言里 double atan2(double y,double x) 返回的是原点至点(x,y)的方位角,即与 x 轴的夹角。注意是先y再x;返回值的单位为弧度,取值范围为
acos:反余弦函数,如acos(0)=2/pie;
1e-6=0.00001,表示浮点数