種蘿蔔 (30分)

在山的那邊,海的那邊住一羣勤勞又愛喝酒的兔子,總共有x個兔子。 五月的第一天,他們商量種蘿蔔,結果第二天他們在地裏挖了n個坑。 那天晚上,他們爲了即將種下的蘿蔔搞了一個趴體,結果所有的兔子喝的爛醉如泥。 第三天早上,第1只兔子醒過來,它把所有坑都種上了蘿蔔,然後去睡覺了。 第四天早上,第2只兔子才醒過來,它把所有是2的倍數的坑進行了“相反操作”(種上蘿蔔填埋好的坑挖開,挖好坑的種上蘿蔔又填埋回去); 第五天早上,第3只兔子,它把所有是3的倍數的坑進行了“相反操作”; … 最後,地裏總共有多少個坑是種好蘿蔔填埋回去的。

輸入格式:
第一行是兩個正整數x和n 1 ≤ x ≤n ≤10000

輸出格式:
輸出最後地裏有多少個坑種上了蘿蔔又填埋回去的。

輸入樣例:
2 10000

輸出樣例:
5000
注:這道題數據很水,直接暴力就過了

#include<iostream>
#include<algorithm>
using namespace std;
int a[1000005];
int main ()
{
	int n,m,ans=0;
	scanf("%d %d",&n,&m);
	for(int i=2;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(j%i==0){
				if(a[j]==0)
				a[j]=1;
				else
				a[j]=0;
			}
		}
	}
	for(int i=1;i<=m;i++){
		if(!a[i])
		ans++;
	}
	printf("%d\n",ans);
 } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章