網易2017春招筆試題(1)

[編程題] 集合

時間限制: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; 
}






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章