感觉c++的头文件跟c有很大相似的地方,但是形式不一样,所以还是要记
而且我以前只是照着用,很多没有搞懂意思
现在开始学习啦!(ps我去图书馆居然没有找到c++ primer最新版的QAQ)
#include <iostream> //in out stream(流) 就是输入输出流啦(我之前一直以为会跟c里面万能头文件stdio.h差不多的来着。。所以看到这个很懵逼
#include <assert.h> //能够使用函数assert → 测试一个条件并可能使程序终止(我之前在学长测试题目数据的代码里面好像看过,就是用于限制未知数取值的吧大概
下面是gcd函数了
其实我看了好像有好几种写法 我随便po个几种
1、这是书上的(感觉就是辗转相除法了 我当时还懵逼了一阵子
int gcd(int m,int n) { int r; while(n!=0) { r=m%n; m=n; n=r; } return m; }
2、这个就是!我做出西北大学第一题的时候用的函数了!
其实思路有点类似于递推了,而且这个代码量少点,而且我感觉。更容易看懂?
int gcd(int m,int n) { if(n==0) return m; else return gcd(n,m%n); }
cout << "Greatest Common Divisor\n";
关于这一行代码,我突然知道了什么不得了的事情,我之前一直在纠结用cout 换行符怎么搞
原来!跟printf一样直接打在引号里面的内容就行了
cout << "\nGCD(" << x << "," << y << ")=" << (g=gcd(x, y)) << endl;
这行。。可真是。。太复杂了呀
其实打印出来就是GCD(10, 20) = 10 可是特么的居然要分开这么多打
总之就是未知量和直接能输入的要分开了。。。
然后那个g=gcd()那里有一个括号 不知道为啥
endl就相当于是换行符了 这样的吧