Uva11827 (GCD)
来源:互联网 发布:北京软件游戏学校 编辑:程序博客网 时间:2024/05/15 23:48
这题的难点大致就是读入数据方面了吧。。。
尼玛。。。
一直用不惯C艹的读取系统。。。至今都搞不懂cin啊scanf 啊sscanf 啊gets 啊get 啊getline 啊getchar 啊等等一堆乱七八糟的函数还有后面跟的一队乱七八糟的参数的玩意。。。擦擦擦擦擦擦擦擦擦擦擦。。。
好吧。。。其实可能还是我智商拙计。。。
可是为什么gets那种玩意只能读到char[] 里面啊! 读进string里面会屎么!!!! 还得用string str(char [])这种乱七八糟的东西搞进去!!!!【还是我智商拙计么!!!!
吐槽完毕~~~【empty大神、endless大神、甫神 等人请无视上面几段的东西,其实我内心可可热爱它们了~~~
咳咳……
我一开始用的是getline 存进string里面,然后通过while循环,当指针位置的字符不等于空格 的时候,将那个字符 减去‘0’ ,加上之前的数乘以10,这样就得到了一个一个数字。
可是这样会有bug……最后一个数会变成0……天知道为毛为毛为毛为毛为毛为毛!!!
然后用了stringstream, 一个一个读出来。
之后用一个for求出最大的最大公约数就行了……
AC Memory : 0KB Time : 9MS
代码:
#include<cstdio>#include<iostream>#include<sstream>#include<string>using namespace std;int num[100], n;string s;int gcd(int a, int b){return b ? gcd(b, a % b) : a;}int main(){int t;scanf("%d\n", &t);while (t--){getline(cin, s);stringstream ss(s);n = 0;while (ss >> num[n])++n; int i, j, maxn = 0; for (i = 0; i < n - 1; ++i) for (j = i + 1; j < n; ++j) maxn = max(maxn, gcd(num[i], num[j]));printf("%d\n", maxn);}return 0;}
0 0
- Uva11827 (GCD)
- uva11827
- UVa11827(欧几里得算法)
- gcd
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- GCD
- gcd
- GCD
- GCD
- NSString、Char* 、NSData之间的转换
- 拓展训练给企业注入了正能量
- Telerik OpenAccess ORM and the XML Metadata Source
- C++ 结构
- 由小见大——设计数据库表时应该注意的问题
- Uva11827 (GCD)
- JAVA "magic square"判定算法的实现。
- linux共享内存
- Spring中过滤敏感词
- 使用 Spring 进行单元测试
- 在控制台显示程序进度
- Git 多人协同开发教程
- poj1837 dp
- CustomerWise助力中电创通,提升服务管理能力