本帖最后由 青青子衿 于 2019-3-14 13:11 编辑
回复 4# kuing
没事谁会去搞这些无聊的东西
kuing 发表于 2016-11-22 17:09
我呀
程序框图真好玩!- \begin{document}
- \begin{tikzpicture}
- \begin{scope}[->]
- \node[SS](start){开始};
- \node[IO, below=of start](in) %输入正整数
- {输入$M$};
- \node[PD, below=of in](pd1) %判断正整数
- {$M$是否为正整数};
- \node[NR, below=of pd1,align=center](n1) %求出标准分解
- {求出$M$的\\标准素数分解};
- \node[PD, below=of n1,align=center,font=\zihao{5},scale=0.7](pd2) %判断是否含模4余3的素因子
- {是否含$3\pmod{4}$型素因子};
- \node[IO, on grid, below right=4.5cm and 3cm of pd2,align=center,font=\zihao{6}](out1) %输出能分解为两个整数的平方和
- {输出$M$能\\分解为两个\\整数的平方和};
- \node[NR, on grid, below left=1cm and 3cm of pd2,align=center,font=\zihao{6}](n2) %只求出模4余3型素因子的次数
- {只求出\\$3\pmod{4}$型\\素因子的次数};
- \node[PD, below=of n2,align=center,font=\zihao{5},scale=0.7](pd3) %判断每一个素因子的次数是否都是偶数
- {每一个所求次数是否都是偶数};
- \node[IO, below=of pd3,align=center,font=\zihao{6}](out2) %输出M不能分解为两个整数的平方和
- {输出$M$不能\\分解为两个\\整数的平方和};
- \node[below=5cm of pd2](bstop){}; %结束之前
- \node[SS, below=6cm of pd2](stop){结束}; %结束
- \path
- (start) edge (in)
- (in) edge (pd1)
- (pd1) edge (n1)
- (n1) edge (pd2)
- (n2) edge (pd3);
- \draw (pd1.east)--++(0.5,0)node[right]{否} |- ($(start.south)!0.5!(in.north)$);
- \draw (pd1) edge node[left]{是} (n1);
- \draw (pd2) -| node[left]{是} (n2);
- \draw (pd2) -| node[right]{否} (out1);
- \draw (pd3) edge node[right]{否} (out2);
- \end{scope}
- \draw (out2)|- (bstop.center);
- \draw (out1)|- (bstop.center);
- \draw[->](bstop.center)--(stop.north);
- \draw[->](pd3.east)--node[above]{是}(pd3.east-|out1.north);
- \end{tikzpicture}
- \end{document}
复制代码
|