如果x的x次幂结果为10,你能计算出x的近似值吗? 显然,这个值是介于2和3之间的一个数字。 请把x的值计算到小数后6位(四舍五入),并填写这个小数值。 注意:只填写一个小数,不要写任何多余的符号或说明。 题上说的很明确,答案是介于2到3之间的,所以暴力枚举没问题 #include<iostream> #include<cmath> #include<iomanip> using namespace std; int main() { double x = 2.0; for(;x!=3.0;x+=0.00000001)//加的时候尽量位数放大 { if(fabs(pow(x,x)-10) < 0.000001)//这里来限制范围 { cout << fixed<<setprecision(6)<<x<< 继续阅读 >>


陈文浩 18/03/05 20:18:32
#include<stdio.h> #include<stdlib.h> int maze[5][5]; int mark[5][5]={0}; typedef struct{ int x; int y; }offset; offset direct[8] = {-1,0, -1,-1, 0,-1, 1,-1, 1,0, 1,1, 0,1, -1,1}; //8个方向 typedef struct{ int x; int y; int direct; }element; element stack[26]; void add(int *top,element position); element delete(int *top); int main() { int entry_x, entry_y; int exit_x, exit_y; printf 继续阅读 >>


陈文浩 18/01/15 22:15:32
/* * 用prim算法弄最小生成树,每次一个点都会遍历所有点,找出,两点距离最短的情况 * 再改变节点的入度和最小值 */ #include<stdio.h> #include<stdlib.h> #include<string.h> #define INFINITY 1000 struct{ int adjvex; int lowcost; }closedge[31]; typedef struct { int vexnum; int arcs[11][11]; }AdjMatrix; AdjMatrix *G; void prim(AdjMatrix *G,int start); int main() { printf("请输入矩阵:"); G = (AdjMatrix *)malloc(sizeof(AdjMatrix)); for(int i=1;i<=10;i++) f 继续阅读 >>


陈文浩 18/01/15 15:14:37
kruskal算法的一点就是不能形成环路,而且是从排列好的边集合依次选出最小的边,每次选出的顶点都要放在同一个边集合中,之后在顶点集合选两个顶点的边,要求这两个顶点不能在边集合中,这样才能保障不形成环路。 一、链表表示 #include<stdio.h> #include<stdlib.h> /* kruskal,最小生成树,利用链表,并查集的知识 */ typedef struct{ int bef; int aft; int weight; }pic_node;//图中点的结构体 typedef struct find_set{ int data; struct find_set *next; }NODE;//点集合的节点 typedef struct set_head{ NODE *head; NODE *tail; int flag; }HEAD;//点集合的头 HEAD set[20] 继续阅读 >>


陈文浩 18/01/15 15:08:38
#include<iostream> #include<vector> using namespace std; void shellsort(vector<int> &arr); int main() { vector<int> arr{0,9,8,7,6,5,4,3,2,1}; shellsort(arr); for(auto i = arr.begin() + 1;i!=arr.end();i++) cout << *i <<" "; } void shellsort(vector<int> &arr) { int i,j; int increment = arr.size(); do{ increment = increment / 3 + 1;//增量 for(int i = increment + 继续阅读 >>


陈文浩 18/01/14 21:55:44
java有可以获得数组大小的函数,但是c++没有,在写函数的时候发现了一些问题,就是传数组名的时候,会在函数中将数组退化成指针,得不到想要的结果,使用引用之后就不会有这样的问题 #include<iostream> #include<typeinfo> #include<vector> using namespace std; // 使用 int[] template <typename T> inline int get_array_len(T &p) { return sizeof(T) / sizeof(*p); } void insertsort(int arr[], int n) { int j = 0; for(int i = 2; i < n; i++) { if(arr[i] < arr[i-1]) { arr[0] = arr 继续阅读 >>


陈文浩 18/01/14 20:33:26
import java.util.*; public class Main { public static void main(String[] args){ Random random = new Random(10);//随机种子 for(int i=0;i < 10;i++){ System.out.println(random.nextInt(1000));//nextInt可以规定范围 } } } 作者:m0_37787222 发表于 2018/01/10 22:48:12 原文链接 https://blog.csdn.net/m0_37787222/article/details/79029200 继续阅读 >>


陈文浩 18/01/10 22:48:12
使用公历类GregorianCalendar 使用公历类 GregorianCalendar,公历类 GregorianCalendar有方法setTimeInMillis(long);可以用它来设置从1970年1月1日算起的一个特定时间。请编程从键盘输入一个长整型的值,然后输出对应的年、月和日。例如输入:1234567898765,输出:2009-1-14 输入格式: 输入 1234567898765 (毫秒数) 输出格式: 输出 2009-1-14 (输出年、月和日,实际应该是2月,因为Java API 从0开始计算月份) 输入样例: 1450921070108 输出样例: 2015-11-24 import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Scanner; public class Main { public static void main(Strin 继续阅读 >>


陈文浩 18/01/10 17:15:07
#include<iostream> #include<cstring> using namespace std; void byteorder(); int main() { byteorder(); return 0; } void byteorder() { union{ short value; char union_bytes[sizeof(short)]; }test; test.value = 0x0102;//二进制为100000010 /*当小端取低字节8位二进制00000010转换就是2,再取一位就是1 同理大端就是1,2 */ if((test.union_bytes[0]==1)&&test.union_bytes[1]==2) cout <<"big endian"<<endl; 继续阅读 >>


陈文浩 17/12/27 21:25:10
今天感谢佳露大佬,学会了特别装逼的交换两个变量不用中间变量的方法,瞬间觉得之前学的low爆了!!!直接看代码。 #include<iostream> using namespace std; int main() { int64_t a=10; int64_t b=20; printf("交换前a,b的值分别为:\n"); printf("a=%d\n",a); printf("b=%d\n",b); b = (a << 32 | (a = b)) >> 32; printf("交换前a,b的值分别为:\n"); printf("a=%d\n",a); printf("b=%d\n",b); return 0; } 作者:m0_37787222 发表于 2017/12/12 22:46:30 原 继续阅读 >>


陈文浩 17/12/12 22:46:30