/*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,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
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
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;
}
list_for_each_safeBidirect-list list_for_each_safe().https://biscuitos.github.io/blog/LIST_list_for_each_safe/...
已知k个已排序链表头节点指针,将这k个链表合并,合并后仍为有序的 ,返回合并后的头节点 如下三个链表: 合并后的结果如下: 方法一(STL sort算法进行排序): 先将输入的排序链表插入一个迭代器中,vector数组中国呢直接对数组中的链表节点进行按值排序即可 实现算法如下,最终实现源码见文末: bool cmp(Dat...
本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct LNode {ElementType Data;PtrToLNode Ne...
一、前述 企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结。 二、具体 1、显示如下图则表示已安装 vsftp软件。如果未显示则需要安装vsftpd软件。 如果没有则通过yarm源进行安装 yum install -y vsftpd 2、安装完成之后 进入到ftp的根...
Apache POI是一个开源的利用Java读写Excel,WORD等微软OLE2组件文档的项目。 我的需求是对Excel的数据进行导入或将数据以Excel的形式导出。先上简单的测试代码:package com.xing.studyTest.poi;import java.io.FileInputSt...
要取得[a,b)的随机整数,使用(rand() % (b-a))+ a; 要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a; 要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1; 通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。 要取得a到b之间的...
利用本征图像分解(Intrinsic Image Decomposition)算法,将图像分解为shading(illumination) image 和 reflectance(albedo) image,计算图像的reflectance image。 Reflectance Image 是指在变化的光照条件下能够维持不变的图像部分...
题目:面试题39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 限制: 1 <= 数组长度 <= 50000 解题: cl...
题目:二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / 2 6 / 1 3示例 1: 输入: [1,6,3,2,5] 输出...
C语言 char * removeOuterParentheses(char * S){int len = strlen(S);int j = 0;int sum = 0;for(int i = 0; i < len; i++){if (S[i] == '('){sum += 1;}else if (S[i] == ')'){sum...
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要(sumlimits_{i=1}^n a_i)与(sumlimits_{n+1}^{2n}a_i)差值最大,排一下序就好了 CF1174B Ehab Is an Odd...
浮点型乘整型和整型乘浮点型结果不同,不知为什么。 1 double sum = 0.0; 2 for (int i = 0; i < n; i++) 3 { 4 cin >> a[i]; 5 sum += a[i] * (i + 1) * (n - i); 6 } 7 printf("%.2f", sum); 提...