网易2017春招笔试题(1)

来源:互联网 发布:社交软件的用户数 编辑:程序博客网 时间:2024/06/05 10:33
[编程题] 集合

时间限制:1秒

空间限制:32768K

小易最近在数学课上学习到了集合的概念,集合有三个特征:1.确定性 2.互异性 3.无序性.
小易的老师给了小易这样一个集合:
S = { p/q | w ≤ p ≤ x, y ≤ q ≤ z }
需要根据给定的w,x,y,z,求出集合中一共有多少个元素。小易才学习了集合还解决不了这个复杂的问题,需要你来帮助他。 
输入描述:
输入包括一行:一共4个整数分别是w(1 ≤ w ≤ x),x(1 ≤ x ≤ 100),y(1 ≤ y ≤ z),z(1 ≤ z ≤ 100).以空格分隔


输出描述:
输出集合中元素的个数

输入例子1:
1 10 1 1

输出例子1:
10
解答如下:
#include <stdio.h>int main(){int w,x,y,z;scanf("%d %d %d %d",&w,&x,&y,&z);int num=0;int length=(x-w+1)*(z-y+1);float a[length];for (int i= w; i <=x; i++){for (int j = y; j <=z; j++){if(num==0){ a[num]=(float)i/j; num++;}else{int flag=1;a[num]=(float)i/j;for(int k=0;k<num;k++){if(a[k]==a[num])flag=0;}if(flag){num++;}}}}printf("%d\n", num);return 0; }