C++一道题,求编程...

将小于n的所有个位数不等于9的素数在屏幕上打印出来,n的具体值从键盘输入.要求:每行输出10个数,分行输出.
2026年09月28日 21:22
有5个网友回答
网友(1):

》代码及注释:》》:
#include
#include
#include
using namespace std;
int main(void)
{
int i,end,j,k,n=1;
cout<<"请输入一个不小于2的正整数:"< cin>>end;
cout<<"2到"< for(i=2;i<=end;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)//注释在下面
if(i%j==0)break;//当一个数i为素数,这个循环结束后j的值为k+1
if(j>k&&i%10!=9)//“j>k”表明i是素数,i%10得到i的个位数。
{
cout< if(n%10==0)//每行输出10个数
cout< n++;
}
}
cout<}
例如17是素数,因为它不能被2~16间任意一整数整除。因此判断一个整数m是否为素数,只需用2~m之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。
其实可以简化,m不必被2~m-1之间的每一个整数去除,只需被2~根号m之间的每个数去除就可以了。例如判别17是否为素数,只需使2~4之间的每一个整数去除。为什么可以做如此简化呢?因为如果m能被2~m-1之间任意整数整除,如果这个数大于根号m,那这个数必定对应的还有一个比根号m小的因子(以16为例,2、8是它的因子,8大于4,2小于4)。
setw,其头文件是iomanip.h。如,setw(5)的作用是为后面的输出项预留5列,如输出长度不足5列,自动向右靠齐,如果超过5列,则按实际长度输出。
》代码2(用函数实现)》》:
#include
#include
#include//控制符setw的头函数
using namespace std;
void primer(int n)
{
int i,s=1,t;
int k;
k=sqrt(n);//sqrt函数的函数头是math.h
for(i=2;i<=k;i++)
{
t=n%i;
if(t!=0)t=1;
s=s*t;
}
i=1;
if(s&&n%10!=9)
{
cout< if(i%10==0)cout< i++;
}
}
int main(void)
{
int end,j;
cin>>end;
for(j=2;j<=end;j++)
primer(j);
return 0;
}

网友(2):

取除以10的余数可以得到各位数

网友(3):

#include
int main()
{
int a,b;
while(scanf("%d %d",&a,&b)!=EOF)
{
printf("%d\n",a+b);
}
return 0;
}

网友(4):

#include
void main()
{
int i,j,n,count=0;
cout<<"input n:";
cin>>n;
for(i=2;i<=n;i++)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0)
break;
}
if(j>i/2&&i%10!=9)
{
cout<count++;
if(count==10)
{cout<}
}
cout<}

网友(5):

#include
#include
using namespace std;

void f(int);//判断个位数是否小于9
void g();//实现每行输出10个数,分行输出

int main( int argc,char*argv[])
{

int a=0;//中间变量
int nMax=0;
cout<<"请输入要求的最大数:";
cin>>nMax;
int nCounter=0;//计数器

for(a=nMax;a>0;a--)
{
int b=a/2;
for(int i=1;i<=b;i++)//比如输入一个数340,他的一半是175,用340分别处以1到175的整数,减少运算量
{
if(0==a%i)//余数为0说明能够整除
{
nCounter++;
}
}
if(1==nCounter)//一个素数只能被1和自身整除,上面的循环中已经把自身刨去了,所以考虑只能被1整除的就是素数
f(a);
nCounter=0;//计数器置0,进行下一次的计算
}
return 0;
}

void f(int _max)
{
int number=0;
number=_max%10;//取个位数字
if(number!=9)
{
cout<<_max;
g();
}
}
void g()
{
int i=0;
cout<<'\t';
i++;
if(9==i)
{
i=0;
cout< }
}