[ACM ] 題號136 找第一千五百個不含任何2,3 …
看板C_and_CPP作者tw00088437 (喵貓 loves fish)時間14年前 (2009/11/04 22:14)推噓4(4推 0噓 10→)留言14則, 7人參與討論串1/2 (看更多)
題號:
136
http://tinyurl.com/yhnvpqp
遇到的問題:
雖然是算出來答案傳上去了,但是跑法很慢感覺沒效率(大概要跑幾萬ms)
不知道要怎麼改進(答案大約八億多)
ps: 請問d>>=1跑的會比d/=2快嗎?
有問題的code: (請善用置底文的標色功能)
#include<iostream>
using namespace std;
long long a,d;
int main()
{
int num=1;
for(a=2;a>=1;a++)
{
d=a;
if(d%7==0||d%11==0||d%13==0||d%17==0||d%23==0||d%29==0)
continue;
while(d%2==0)
d>>=1;
while(d%3==0)
d/=3;
while(d%5==0)
d/=5;
if(d==1)
num++; //found an ugly number!
if(num==1500)
break;
}
cout<<a;
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.104.73
※ 編輯: tw00088437 來自: 61.228.104.73 (11/04 22:15)
→
11/04 22:22, , 1F
11/04 22:22, 1F
→
11/04 22:22, , 2F
11/04 22:22, 2F
→
11/04 22:30, , 3F
11/04 22:30, 3F
→
11/04 22:32, , 4F
11/04 22:32, 4F
推
11/04 23:00, , 5F
11/04 23:00, 5F
→
11/04 23:01, , 6F
11/04 23:01, 6F
推
11/05 23:22, , 7F
11/05 23:22, 7F
→
11/05 23:24, , 8F
11/05 23:24, 8F
→
11/05 23:45, , 9F
11/05 23:45, 9F
→
11/05 23:45, , 10F
11/05 23:45, 10F
推
11/06 11:39, , 11F
11/06 11:39, 11F
推
11/07 01:14, , 12F
11/07 01:14, 12F
→
11/07 01:14, , 13F
11/07 01:14, 13F
→
11/07 17:19, , 14F
11/07 17:19, 14F
討論串 (同標題文章)