返回列表 发帖
11# 我爱++


这和素数的定义有关。素数要求数字只能被1和本身整除。这里为了检验是否为素数,所以就从2到k的数字挨个来除,看是否能被整除。如果可以整除,说明这个数字不是素数。

TOP

老师 第二个for循环 我一直没弄清楚 比如9l的代码 K是品方根取整数,从2循环到这个整数有什么用啊

TOP

8# 我爱++


这里j<i/2 是为了降低j的循环次数。

TOP

7# 我爱++

#include <stdio.h>
#include <math.h>
void main(){
        int i,m,k,n=0;
        for(m=1;m<=100;m++)            'm从1循环到100
       {
        k=(int)sqrt(m);                         '求m的平方根,并取整数
        for(i=2;i<=k;i++)                     'i从2循环到k
                if(m%i==0)break;            '如果m可以被i整数,说明m不是素数
                if(i>k)                             '如果i大于k了,
                {
                        printf("%3d",m);        输出m
                       n=n+1;                     '计数加1。
               }
               if(n%10==0)                     '如果n是10的整数
                        printf("\n");             '输出一个换行符
        }
        printf("\n");}

TOP

#include<iostream>
using namespace std;
int main()
{
int j;
for(int i=2;i<100;i++) //第一循环是从2-100个数
{
for(j=2;j<=i/2;j++) //第二个循环是判断i的值是不是素数.
{
if(i%j==0) //如果被整除 那么就不是素数.跳出
break;
}
if(j>i/2) //判断上面循环是否正常结束
cout<<i<<" "; //如果上面循环正常结束 则i是素数 输出
}
cout<<endl;
}


这个有注释j<=i/2是什么意思

TOP

#include <stdio.h>#include <math.h>void main(){        int i,m,k,n=0;        for(m=1;m<=100;m++)        {        k=(int)sqrt(m);        for(i=2;i<=k;i++)                if(m%i==0)break;                if(i>k)                {                        printf("%3d",m);                        n=n+1;                }                if(n%10==0)                        printf("\n");        }        printf("\n");}



求管理员解释这串代码特别是套嵌部分

TOP

你好。上机实践应该在光盘中可以找到。
关于十个数字组成五位数,我简单说一下思路。
设置i表示这个五位数,则五位数的最小为10234,最大为98765。这样就可以让
for(i=10234;i<=98765;i++)进行循环。
然后依次计算i的万位、千位、百位、十位、个位的数。
如果五个数字都不一样,就是符合条件的数字。

这是基本思路,你可以考虑一下。

TOP

不知道《C++从入门到实践》这本书的课后“上机实践”的答案在哪里可以找到。第六章的上机实践题1:用0~9着十个数字组成五位数,要求各位数字都不相同该如何编写呢?老师给点提示吧

TOP

VC 6中默认是按照C++的语法编译。但是在Dev C++中,需要检查一下设置。

TOP

我重启VC6然后在运行就没有问题了,为什么在DEVc++上有很多代码运行不了啊

TOP

你好。请发一下错误提示。

TOP

返回列表