对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
输入格式:
输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。
输出格式:
在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。
输入样例:
888 666 123 -233 250 13 250 -222
输出样例:
5
#include<iostream>
using namespace std;
main()
{
int num,i;
for(i=1;scanf("%d",&num);++i)
{
if(num==250)
break;
}
printf("%d",i);
return 0;
}
我们应该都知道在很多编译器上,对printf和scanf都进行了优化,尤其是在输入输出数据量大的时候,在运行时间和所占内存方面都会比cin和cout效率要高不少,但是如果有人偏偏喜欢用cin和cout,怎么解决这个问题呢?
方法:在读写前添加这条语句
std::ios::sync_with_stdio(false);
注意用这个语句后cin/cout和scanf/printf不要再同时使用,否则很可能出现混乱。
以下是用cin和cout后的代码
#include<iostream>
using namespace std;
main()
{
std::ios::sync_with_stdio(false);
int num,i;
for(i=0;cin>>n;++i)
{
if(num==250)
break;
}
cout<<i;
return 0;
}
使用该方法后,性能要高不少,但是并不是很稳定,使用时间和内存不稳定
所以在卡时间和内存比较紧的题,推荐使用printf和scanf