国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

UVa524

2019-11-08 02:05:36
字體:
供稿:網(wǎng)友

UVa524  

   輸入正整數(shù)n,把整數(shù)1,2,3,···,n組成一個(gè)環(huán),使得相鄰兩個(gè)整數(shù)之和均位素?cái)?shù)。輸出時(shí)從整數(shù)1開始逆時(shí)針排序。同一個(gè)環(huán)應(yīng)恰好輸出一次。n<=16.

樣例輸入:6樣例輸出:1 4 3 2 5 61 6 5 2 3 4枚舉排列(比較費(fèi)時(shí)間,跑到n = 16會(huì)超時(shí))
#include <stdio.h>#include <algorithm>using namespace std;int PRime[33];int A[20];int is_prime(int n){    for(int i = 2; i < n; i++){        if(n % i == 0){            return 0;        }    }    return 1;}int main(){    int n;    scanf("%d", &n);    for(int i = 2; i < 33; i++){        prime[i] = is_prime(i);          //素?cái)?shù)表只需從3計(jì)算就可以了, 因?yàn)閮蓴?shù)相加最小是3    }    for(int i = 0; i < n; i++) A[i] = i + 1;    do{        int ok = 1;        for(int i = 0; i < n; i++){            if(!prime[A[i] + A[(i + 1) % n]]){       //%n邊界                ok = 0;                break;            }        }        if(ok){            for(int i = 0; i < n; i++){                printf("%d ", A[i]);            }            printf("/n");        }    } while(next_permutation(A + 1, A + n));    return 0;}利用回溯法(省時(shí)間)
#include <stdio.h>#include <algorithm>using namespace std;int prime[33], vis[20] = {0};int A[20], n;int is_prime(int n){    for(int i = 2; i < n; i++){        if(n % i == 0){            return 0;        }    }    return 1;}void dfs(int cur){    if(cur == n && prime[A[0] + A[n - 1]]){        for(int i = 0; i < n; i++){            printf("%d ", A[i]);        }        printf("/n");    } else {        for(int i = 2; i <= n; i++){            if(!vis[i] && prime[i + A[cur - 1]]){                A[cur] = i;                vis[i] = 1;                dfs(cur + 1);                vis[i] = 0;            }        }    }}int main(){    A[0] = 1;    scanf("%d", &n);    for(int i = 2; i < 33; i++){        prime[i] = is_prime(i);        //素?cái)?shù)表只需從3計(jì)算就可以了, 因?yàn)閮蓴?shù)相加最小是3    }    dfs(1);    return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 北流市| 搜索| 文水县| 利津县| 凤翔县| 无为县| 增城市| 稷山县| 灵璧县| 宣恩县| 宁津县| 改则县| 黄陵县| 孝感市| 汉川市| 静乐县| 科尔| 剑河县| 隆回县| 蒙自县| 枣庄市| 永寿县| 吴桥县| 筠连县| 白城市| 汨罗市| 增城市| 那坡县| 灵武市| 辽宁省| 拜泉县| 哈尔滨市| 大渡口区| 师宗县| 横山县| 略阳县| 克什克腾旗| 子长县| 南宫市| 徐汇区| 定南县|