A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 275253707 中级黑马   /  2014-4-16 15:28  /  1973 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

namespace text9
{
    //在label控件中随机输入20个1~1000之间的整数,求出其中所有的素数的和。
    public partial class Form1 : Form
    {
        int[] nums = new int[20];
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            int sum = 0;
            for (int i = 0; i < nums.Length; i++)
            {
                if (IsSushu(nums[i]) == true)
                {
                    sum += nums[i];
                }
            }
            sumshow.Text = Convert.ToString(sum);

        }

        /// <summary>
        /// 判断是否是素数的方法;
        /// </summary>
        /// <param name="n">参数,将要判断的数</param>
        /// <returns></returns>
        private bool IsSushu(int n)
        {
            bool flag = false;
            if (n < 2)
            {
                flag = false;
            }
            else if (n == 2)
            {
                flag = true;
            }
            else
            {
                for (int i = 2; i < n; i++)
                {
                    if (n % i == 0)
                    {
                        flag = false;
                        break; //不是质数,此时退出循环                       
                    }
                    else
                    {
                        flag = true;//从2到n-1都不能被整除,此时是质数,返回true;
                    }

                }
            }
            return flag;
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            Random r = new Random();
            for (int i = 0; i < nums.Length; i++)
            {
                nums[i] = r.Next(1, 1000);
            }
            label1.Text = string.Join (",",nums );
        }

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

8 个回复

倒序浏览
你这个是对的啊  我这边运行都有随机数
回复 使用道具 举报
求素数的时候循环用不着除到n,for(int i=2;i<=n/2;i++)  就可以了
回复 使用道具 举报
求素数时候循环到n结束的话,程序运行效率会降低,要是数字再大点看是什么效果,有些数据就不显示出来了
回复 使用道具 举报
念~ 发表于 2014-4-16 16:51
你这个是对的啊  我这边运行都有随机数

{:3_54:}泪奔。。我就是死活都不可以。。。
回复 使用道具 举报
275253707 发表于 2014-4-16 19:29
泪奔。。我就是死活都不可以。。。

现在可以了不?你尝试重新建一个项目试一试
回复 使用道具 举报
念~ 发表于 2014-4-17 20:40
现在可以了不?你尝试重新建一个项目试一试

恩。。可以了。。。搞不明白。。。。
回复 使用道具 举报
官方 中级黑马 2014-9-15 09:15:27
8#
路过 学习
回复 使用道具 举报
说明你还不懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马