?? king.cpp
字號:
// king.cpp : Defines the entry point for the console application.
//
// 文 件 名: king.cpp
// 創 建 者: 劉志祥
// 創建時間: 2003-12-21
// 功能描述: 金山面試題目 1,2,3,4,5,6 這6個數,生成一個環,
// 要求相鄰的兩個之和為素數,共有多少種排列
#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<cmath>
#include<algorithm>
using namespace std;
void print(int a[],int n)
{
ofstream file("king.txt");
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
file<<a[i]<<" ";
}
file<<endl;
cout<<endl;
}
void adjacentsum(int a[],int b[],int n)
{
for(int i=0;i<n-1;i++)
b[i]=a[i]+a[i+1];
b[n-1]=a[0]+a[n-1];
}
int prim(int m)
{
int k=sqrt(m);
for(int i=2;i<=k;i++)
if(m%i==0)
return 0;
return 1;
}
bool select(int a[],int n)
{
for(int i=0;i<n;i++)
if(!prim(a[i]))
return false;
return true;
}
int main(int argc, char* argv[])
{
int a[]={1,2,3,4,5,6};
int b[6];
while(next_permutation(a,a+6))
{
adjacentsum(a,b,6);
if(select(b,6))
print(a,6);
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -