C++计算一整数串的前n位和后n位
基础题_12 计算机一整数串的前n位和后n位
4.1 需求分析:
本程序主要解决的是: 用户输入一个>4的偶数后由计算机依次产生小于此数的所有质数,找出满足d=d1+d2的所有数对,其中要求d1与d2均为素数,d为大于4的输入偶数且d1和d2均为小于d的质数。
4.2 概要设计:
本程设计思路: 本程序主要解决两个问题:素数的判断以及对任意输入一个大于4的偶数d,找出满足d=d1+d2的所有数对(其中要求d1与d2均为素数)。通过主函数的while语句判断产生的数是否大于4且为偶数,然后调用prime()来判断素数,最后通过数组的嵌套for语句来输出d=d1+d2的所有数对。
程序流程图(如下图):原文请找腾讯752018766优,文-论'文.网http://www.youerw.com/
4.3 详细设计与编码:
见上传程序。
4.4 调试分析:
在调试过程中程序调用prime() 获得的素数少于实际个数,检验时是由于素数判断条件有误,调试后得到了解决。在将素数值赋给数组时有于循环条件有错,难以输出正确值。输出d=d1+d2的所有数对时,出现了重复现象。例如m=8,输出结果包括了m=3+5,m=5+3,调试后将每次以配对的值赋值为0后解决了问题。
程序执行的结果:
4.5 用户使用说明:
本程序的用户使用较简单,用户根据程序的提示输入一个数即可,其他计算程序产生。
4.6 设计心得:
通过查阅资料,将素数的判断条件简化,缩短了计算时间。本程序使用得最多的循环的嵌套使用,在多重循环中要特别注意循环条件的设置。这一点使我学到了很多。同时当要屏蔽数组中的一些值时可将其赋值为0。总体来说,此次设计使我对循环调用有了更深入的认识。1832