05 2012 档案
摘要:解题思路:这道题其实就是从所给图中找规律,刚开始我把前12个点在演草纸上写出来其对应的坐标,我就想用一个二维数组,行标号表示x,列标号表示y,如果对应值不为零就直接输出,否则就输出No Number 。程序如下:View Code 1#include<iostream>2#include<cstdio>3usingnamespacestd;4intan[3000][3000];5intmain()6{7inti,k=0,n,x,y;8for(i=0;i<=5000;i=i+4)9{10an[i-2*k][i-2*k]=i;11an[i+1-2*k][i+1-2*k
阅读全文
摘要:题意:给一个整数N(2 ≤ N ≤ 109),求至少可以找到几个素数的相加和为N,并输出各个素数。解题思路:这题用到了有名的哥德巴赫猜想:任一大于5的整数都可写成三个素数之和,任一大于2的偶数都可写成两个素数之和。从这个猜想中可以得到,任何一个整数N(N>=2)最多由三个素数相加构成。要分情况考虑: 1. 如果N为偶数,1)如果N==2,直接输出; 2)如果N>2,那么N一定可以写成两个素数的和; 2.如果N为奇数,1)如果N自身就是素数,则直接输出; 2)如果N由两个素数构成,这两个素数只可能是:2 和 N-2;3)N为三个素数之和。View Code 1#include<
阅读全文
摘要:解题思路:题目全英的,理解起来有点困难。刚开始我推测着应该是有向图中找一条包含所有顶点的通路,结果还是不对。如果早知道是拓扑排序就好办了。这是数据结构中的经典算法,首先找到入度为0的点,输出并去掉该顶点与其他顶点相连的边,然后依次循环上述操作,直到所有顶点都输出。需要定义一个存放顶点入度的数组(degree),最多100个顶点,所有可以用邻接矩阵存储有向图的结构,如果顶点过多,则应采用邻接表作有向图的存储结构。虽然题目中有不存在的情况,可是根据推断得知必定存在这样的序列。由程序提交结果验证确实如此。不过考虑到该情况也不会出错,就是麻烦些。View Code 1#include<iostr
阅读全文

浙公网安备 33010602011771号