问题的发现:(想要看干货可以直接跳过这段) 我最近刚了解到关于栈的用法,于是按照参考书寻找代码,并把它敲到电脑上.编译运行代码后发现无法终止,在网上查找各种资料,总结如下. 因为我的电脑是Windows和Mac双系统的所以都试了一遍. Windows端: 在(Visual Studio 2019/Dev c++/CodeBlocks)上编译运行后可以用ctrl+z终止并可以显示出最后结果:编译后的exe文件按住ctrl+z后程序会直接退出,连显示都没有. 以下是在编译器下运行的结果: 在clio…
我们知道scanf函数是C语言里面的,其返回值是,被输入函数成功赋值的变量个数.针对于int  counts = scanf("%d",&n);来说如果赋值成功那么其返回值为1,即counts的值也是1.例如下面这个例子: int c,b; int counts = scanf("%d %d", &c, &b); cout << counts; while(条件语句);如条件语句为真,那么循环可以一直进行下去,如果为假则循环结束.…
7-16 一元多项式求导(20 分) 设计函数求一元多项式的导数. 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和指数.数字间以空格分隔,但结尾不能有多余空格. 输入样例: 3 4 -5 2 6 1 -2 0 输出样例: 12 3 -10 1 6 0 解题思路:1.一开始还以为这道题蛮简单的,刷刷刷就写了个用数组做的,然后有一个测试点运行超时 2.然后就换了一边输入一边输出,但…
scanf的返回值由后面的参数决定 scanf("%d%d", &a, &b); 如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为EOF. 且返回值为int型. 验证: sign=scanf("%d %d",&a,&b);        printf("%d %d\n",a,b);    …
很早就知道,c的scanf(printf)比c++的快.刷题时尤其明显,在这上面超时是常有的事儿. 但,这是别人告诉我的,c快. 为什么快? 从网上借鉴一个例子做个简单测试: 1.cpp     //向一个文件里输入1000000个随机数 #include<iostream> #include<fstream> #include<cstdlib> using namespace std; ; int main() { ofstream file("data&q…
Networking 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/B Description You are assigned to design network connections between certain points in a wide area. You are given a set of points in the area, and a set of possible routes for the…
三道大水题,其它题都不会做,真是尴尬和无奈啊…… 有想法,但是解决不了,感觉个人不会一些基本解法,终究还是个人学习的内容太少了 B. Goldbach /* 数值较小,<2^63,分解的两个素数较小,其中一个小于xxx(etc. 1e5) 生成1~x的素数:O(n) 判断素数不能只用已求出的素数相除,这样结果不对.而且这个方法速度太慢. Code largely studys from https://paste.ubuntu.com/p/JmDk43TTPB/ 米勒拉宾素数测试 https:/…
含[判断凸包],[判断点在多边形内],[判断圆在多边形内]模板  凸包:即凸多边形 用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点. The DIY Furniture company specializes in assemble-it-yourself furniture kits. Typically, the pieces of wood are attached to one another using a wooden pe…
1.题目戳这里 2.代码: #include<stdio.h> #include<string.h> int main() { int n; while(scanf("%d",&n)!=EOF)//使用cin会超时 { char a[1000001]; memset(a,0,n); int i=0,num; for(i=0; i<n; i++) { scanf("%d",&num); if(a[num]==0) { a[…
题目链接:https://vjudge.net/problem/UVA-11426 题目大意: 给出整数n∈[2,4000000],求解∑gcd(i,j),其中(i,j)满足1≤i<j≤n. 的确没有想到是欧拉函数,这怎么会想到欧拉函数呢?  又不是要我们求所有gcd为1的个数  那些gcd不为1的怎么办呢?  当时怎么就没想到呢  除过去不就变为1了吗  自己是真的菜... 还是要多做题,把思维开阔起来!!! 思路在代码中  直接看代码: /** 欧拉函数三个性质 是素数的话 欧拉函数值等于它…