温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用C语言求素数大于1只能被1跟本身除的数

发布时间:2021-12-08 14:27:55 来源:亿速云 阅读:142 作者:iii 栏目:大数据

本篇内容主要讲解“怎么用C语言求素数大于1只能被1跟本身除的数 ”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言求素数大于1只能被1跟本身除的数 ”吧!

#if 1
#include <iostream>
using namespace std;

void move(int n,char A, char B, char C)
{
    if(1==n)
    {
        cout<<A<<"-->"<<C<<endl;
    }
    else
    {
        move(n-1, A, C, B);
        cout<<A<<"-->"<<C<<endl;
        move(n-1, B, A, C);
    }
}

int main()
{
    cout <<"please input the  hanoi number:";
    int num;
    cin>>num;
    char A='a';
    char B='b';
    char C='c';
    move(num, A, B, C);
    return 0;
}
#else
#include <iostream>
using namespace std;
int fun(int n)
{
    if(n==1)
        return 1;
    if(n==0)
        return 0;
    return fun(n-1)+fun(n-2);
}

int CalAge(int n)
{
    if(1==n)
    {
      return 10;
    }
    return CalAge(n-1)+2;
}
int main()
{
    int i;
    int a[12];
    a[0]=0;
    a[1]=1;
    cout<<a[0]<<endl;
    cout<<a[1]<<endl;
    for(i=2; i<=12;i++)
    {
        a[i]=a[i-1]+a[i-2];
        cout<<a[i]<<endl;
    }
    cout<<"aaa"<<endl;
    cout<<fun(12)<<endl;
    cout<<" age 5"<<endl;
     cout<<CalAge(5)<<endl;
    return 0;
}
#endif

求素数 大于1 只能被1跟本身除的数      

#include <iostream>
#include <cmath>
using namespace std;
int fun(int temp)
{
    for(int j=2; j<temp; j++)
   // for(int j=2; j<=sqrt(temp); j++)  
    {
        if(temp%j == 0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int n;
    cout<<"please intput n n must > 1:";
    cin>>n;
    int out=0;
    for(int i=2;i<=n;i++)
    {
        if(1==fun(i))
        {
            out++;
            if(out>10)
            {
               out=1;
               cout<<endl;
            }
            cout<<i<<" ";
        }
    }
    cout<<endl;
    return 0;
}

题目二:一只青蛙一次可以跳上一级台阶,也可以跳上2级台阶,求该青蛙跳上n级台阶的共有多少种跳法。

思路:当只有一级台阶的时候,青蛙的跳法也只有一种。当有两级台阶的时候,青蛙的跳法有两种(一是:一下跳两级台阶,二是:一级一级的跳)。当有n级台阶的时候,青蛙在第一次起跳的时候只跳了一级台阶,则还剩下n-1级台阶的跳法,如果在第一次起跳的时候跳了两级台阶,则还剩下n-2级台阶的跳法。整个题目正好是一个斐波拉契数列。公式如下:

怎么用C语言求素数大于1只能被1跟本身除的数

int Frog(int n)
{
    if(1==n || 2==n)
    {
      return n;
    }
    return Frog(n-1)+Frog(n-2);
}

八皇后问题 回溯 

#include <iostream>
using namespace std;
int ChessBoard[8][8];    /*棋盘*/
void InitsChessBorad()  // 初始化
{
    for(int row = 0;row<8;row++)
    {
        for(int column = 0; column<8; column++)
        {
            ChessBoard[row][column] = 0;
        }
    }
}
void PrintChessBoard() //打印棋盘
{
    static int Num = 0;
    Num = Num + 1;
    cout<<"the "<<Num <<" is:"<<endl;
    for(int row = 0; row<8;row++)
    {
        for(int column =  0; column <8; column ++)
        {
            if(ChessBoard[row][column])
            {
                cout<<"Q";
            }
            else
            {
                cout<<"+";
            }
        }
        cout<<endl;
    }
    cout<<endl;
}
bool Conflicts(int row, int column) // 判断冲突
{
    for(int i=1; i<8; i++)
    {
        if(row-i>=0 && ChessBoard[row-i][column])
        {
            return true;
        }
        if(column-i>=0 && ChessBoard[row][column-i])
        {
            return true;
        }
        if(column-i>=0 && row-i>=0 && ChessBoard[row-i][column-i])
        {
            return true;
        }
        if(row-i>=0 && column+i<8 && ChessBoard[row-i][column+i])
        {
            return true;
        }
    }
    return false;
}
/* place_queen
** 放置皇后
** 第一行不需要检查,因为只有一个皇后。皇后放置的位置设置为true。
** 如果某M行的所有列放置皇后都存在互相攻击,那么需要返回到M-1行中放置皇后的位置,
** 将M-1行的皇后位置设置为false,寻找这行的下一个可以放置皇后的位置,如果存在再检查第M行可以放置皇后的位置。
** 如果不存在,则返回到第M-2行。
** 如果8个皇后成功放置完毕,则打印棋盘.
*/
void QueenPlace(int row) // 棋盘放置
{
    for(int column = 0;column<8;column++)
    {
        ChessBoard[row][column] = 1;
        if(row ==0 || !Conflicts(row, column))
        {
            if(row <7)
            {
                QueenPlace(row+1);
            }
            else
            {
                PrintChessBoard();
            }
        }
        ChessBoard[row][column] = 0;
    }
}
int main()
{
    InitsChessBorad();
    QueenPlace(0);
    return 0;
}

到此,相信大家对“怎么用C语言求素数大于1只能被1跟本身除的数 ”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI