Nested Mappings
/*hanzhiguang coded at 2009.07.30 1:20*/
// nesting_map.cpp : Defines the entry point for the console application.
//
/*-------------------------------------------------------------------------
給定自然數n,找出所有不同的有序對i和j,其中 1<=j<=i<=n,使得i+j是素數。例如:
假定n是6,滿足條件的序對就是:
i??? 2 3 4 4 5 6 6
j??? 1 2 1 3 2 1 5
-------------------------
i+j? 3 5 5 7 7 7 11
完成這一計算的一種很自然的組織方式:首先生成出所有小于等于n的正自然數的有序對,而后通過過濾,得到哪些和
為素數的有序對,最后對每個通過了過濾的序對(i,j),產生出一個3元組(i,j, i+j)
---------------------------------------------------------------------------*/
#include "stdafx.h"
#include "prime.h"
#define MAX_INDEX 256
struct LIST
{
??? int low;
??? int high;
??? int sum;
??? bool is_prime_sum;
};
struct LIST g_list[MAX_INDEX] = {0};
int? g_index = 0;
/*-------------------------------------------------------------------------
生成有序對序列的一種方式:對于每個整數i<=n,枚舉出所有的整數j<i,并且對美一對i和j
生成序對(i,j).
---------------------------------------------------------------------------*/
int enumrate_interval(int nlow, int nhigh)
{
??? if (nlow >= nhigh)
??? {
??? ??? return 0;
??? }
??? else
??? {
??? ??? g_list[g_index].low = nlow;
??? ??? g_list[g_index].high= nhigh;
??????? g_index++;
??? ??? enumrate_interval(nlow+1, nhigh);
??? }
??? return 1;
}
int enumrate_list(int n)
{
??? for (int i=1; i<=n; i++)
??? {
??? ??? enumrate_interval(1, i);
??? }
??? return 0;
}
int filter_sum_prime()
{
??? for (int i=0; i<g_index; i++)
??? {
??? ??? if ( is_prime(g_list[i].low + g_list[i].high) )
??? ??? {
??? ??? ??? g_list[i].is_prime_sum = TRUE;
??? ??? ??? g_list[i].sum = g_list[i].low + g_list[i].high;
??? ??? }
??? ??? else
??? ??? {
??? ??? ??? g_list[i].is_prime_sum =FALSE;
??? ??? }
??? }
??? return 0;
}
void prinf_list()
{
??? for (int i=0; i<g_index; i++)
??? {
??? ??? if ( g_list[i].is_prime_sum )
??? ??? {
??? ??? ??? printf("%d_%d_%d/n", g_list[i].low, g_list[i].high, g_list[i].sum);
??? ??? }
??? }
}
int _tmain(int argc, _TCHAR* argv[])
{
??? enumrate_list(6);
??? filter_sum_prime();
??? prinf_list();
??? printf("/n");
??? return 0;
}
總結
以上是生活随笔為你收集整理的Nested Mappings的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 帕斯卡三角形与道路问题
- 下一篇: 个性签名唯美爱情句子