题目一
题解:该题目意思就是让你输入n组数据,然后求并集,利用STL容器set集合的特性:元素不重复存储,我们可以很轻易得出答案
#include <iostream>
#include <set>
using namespace std;
int function2()
{
set<int> a;
int lines,row;
int element;
while(cin>>lines) //输入lines组数据
{
a.clear();//每次测试数据前都要将之前清空
for(int i=;i<lines;i++)
{
cin>>row; //输入每组数据的的个数
for(int j=;j<row;j++)
{
cin>>element;//具体的每个元素
a.insert(element); //直接插入集合a中,会自动判断是否重复,如果重复,则不会插入,返回false
}
}
cout<<a.size()<<endl; //输出集合大小即可以
}
return ;
}
题目二
题目解析:由三角形不难看出a+b>c,根据我们学习过的斐波那契数列1 2 3 5 8 13 。。。。。从下面这张照片我们可以了解一下斐波那契数列的特点,由此可以知道,从1到n,不在斐波那契数列上的应该是被拿掉的木棍数目
代码实现
#include<stdio.h>
int main()
{
int result=;//该值是输出结果值,初始化为0
int N=;
int i,a,b;
while(scanf("%d",&N)!=EOF)
{
for(i=,a=,b=;i<=N;i++)
{
if(a+b>i)
{
result++;
}
else
{
a=b;
18 b=i;
}
}
printf("%d\n",result);
result=; }
return ;
}
附链接 Java版本实现https://www.cnblogs.com/wupeixuan/p/8747665.html