用JAVA实现1-2010605中纯质数个数,也是蓝桥杯基础题之一


分析题目思路:                                                                                                                                        我先定义number,temp,red,i,count,isPrime=1;先判断是不是素数后再判断每一位是不是2,3,5,7;也使用sqrt()函数是程序简单,temp=number,再用for循环结束后用if(temp==0)让count++;或者前面用不是纯质数先count--后count++也行,这些就是我思路。           

看以下程序 :                                                                                                                            

public class chuenzhishu
{
	public static void main(String[]args)
	{ int number;//它是正整数
		int i;
		int temp;//临时保存number
		int red;
		int count=0;//计数有多少个纯质数 
		int isPrime;// 1是素数,0不是素数
		for(number=1;number<20210606;number++)
		{ isPrime=1;
			for(i=2;i<=Math.sqrt(number);i++)//用sqrt函数减小循rt环,如果不等于sqrt(number)会多一个25这个数。
			{
				if(number%i==0)//判断是不是素数
				{
				isPrime=0;
				break;
			   }

			}
				if(isPrime==1)
			{
				for(temp=number;temp!=0;temp/=10)
				{  
					red=temp%10;
					if(red==2||red==3||red==5||red==7)//判断每一位是不是2,3,5,7;
						{
							continue;
						}
							
							else
							{
								break;//跳出循环

							}
				}
							if(temp==0)//判断前面for循环执行完没有,执行完后count++;

							{count++;}
			}

		}

					System.out.printf("1-20210605其中纯质数个数为%d",count);
	}


}

或者这个程序:

public class chuenzhishu
{
	public static void main(String[]args)
	{ int number;//它是正整数
		int i;
		int temp;//临时保存number
		int red;
		int count=0;//计数有多少个纯质数 
		int isPrime;// 1是素数,0不是素数
		for(number=1;number<20210606;number++)
		{ isPrime=1;
			for(i=2;i<=Math.sqrt(number);i++)//用sqrt函数减小循rt环,如果不等于sqrt(number)会多一个25这个数。
			{
				if(number%i==0)//判断是不是素数
				{
				isPrime=0;
				break;
			   }

			}
				if(isPrime==1)
			{
				for(temp=number;temp!=0;temp/=10)
				{  
					red=temp%10;
					if(red==2||red==3||red==5||red==7)//判断每一位是不是2,3,5,7;
						{
							continue;
						}
							
							else
							{
								count--;//如果不是纯质数先减1跳出循环后再加会来;
								break;//跳出循环

							}
				}

							count++;
			}

		}

					System.out.printf("1-20210605其中纯质数个数为%d",count);
	}


}

运行结果为:                                                                                                                                      谢谢大家观看,我希望这个程序可以帮助您!

                                                                                                                      

                                                  

                                                                                                               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上 岸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值