1樓:匿名使用者
第1500項是 859963392。它等於2的17次方乘以3的8次方。
使用fortran語言程式設計,**有演算法註釋,運算時間在普通個人電腦上是24毫秒。
以下是輸出結果和程式源**。
該演算法可以計算到至少n=10000,耗時0.95秒。運算結果見下圖。
c語言程式設計:求第1500個只有2,3,5因子的數。數是從小到大排列,第一個數是1,1=2^0*3^0*5^0 20
2樓:gta小雞
這題可以用動態規劃解
狀態轉移方程是f[n]=min(f[當前2的指數]*2,f[當前3的指數]*3,f[當前5的指數]*5)
即下一項的值等於當前2的指數項的值×2、當前3的指數項的值×3或當前5的指數項×5中最小的那個,同時將對應因子的指數加1
其中f[n]代表第n個只有2,3,5因子的數
#include
double min(double index_2,double index_3,double index_5) //min函式返回三者中最小的一個
int main()
printf("%.0f",f[1499]); //輸出第1500項的值}
c語言求助 題目 求第1500個只有2,3,5因子的數 數是從小到大排列 第一個數是1,1=2^0
3樓:匿名使用者
#include
using namespace std;
int pow(int x)
else if (x%3==0)
else if (x%5==0)
else
}return 1;
}void main()
{for (int i=1,j=1;j<=1500;i++){if (pow(i))
{j++;
cout<
4樓:匿名使用者
void main()
if(n>1500)
break;
}if(n>1500)
break;
}printf("第1500個數=%d\n",s);
// return 0;}
5樓:萬惡小
先提醒一點,你這個都是乘法的話第1500個已經超過了int32
這個問題很複雜,因為2^3*3^0*5^0=8,但2^0*3^1*5^1=15,所以不能光從數量上去判斷他們的大小,所以這是一個非常確定的問題,解決這個問題不能通過常規手段來實現,只能通過大資料的列舉然後排序來實現
static void main(string args)}}
for (int k = 0; k < arr.length; k++)
}console.writeline(rst[100]);
console.read();
}public int getarr(int i,int j ,int k)
{int n = 0;
int s=i*j*k;
int arr=new int[s];
for(int a=0;a
這是我的**,因為你的1500實在太大,我選擇輸出第100個,結果是13500
6樓:尼見
請給出前四個例子,以方便理解題意。
7樓:匿名使用者
//來bug了,要工作了,沒幫你除錯過,思路應該看得懂吧,自己除錯一下
void test1()
if(0 == value%2)
}if(0 == value%3)
}if(0 == value%5)}}
value++;
if(1 == flag)}}}
c程式設計,求第1500個只有2,3,5因子的數.數是從小到大排列,第一個數是1,1=2^0*3^
8樓:夜獨行孤單
#include
int pow(int x)
else if (x%3==0)
else if (x%5==0)
else
}return 1;
}void main()}}
#include
int pow(int x)
else if (x%3==0)
else if (x%5==0)
else
}return 1;
}void main()}}
求第1500個只有2,3,5因子的數。數是從小到大排列,第一個數是1,1=2^0*3^0*5^0
9樓:it孤鶩
用什麼語言c,還是c++
#include
void main()
else if(m%3==0)
else if(m%5==0)
else break;
}if(m==1)
printf("%d=2^%d*3^%d*5^%d\n",n,a,b,c);}}
10樓:匿名使用者
第1500項是 859963392。它等於2的17次方乘以3的8次方。
使用fortran語言程式設計,**有演算法註釋,運算時間在普通個人電腦上是24毫秒。
以下是輸出結果和程式源**。
該演算法可以計算到至少n=10000,耗時0.95秒。運算結果見下圖。
求第1500個只有2,3,5因子的數.數是從小到大排列,第一個數是1,1=2^0*3^0*5^0.不要答案,只求程式設計的思路。
11樓:匿名使用者
我是這樣想的,首先知道第一個數是1,擴充套件一位得到
取出最小的2,擴充套件一位,得到,合併之前剩下的數 得到
取出最小的3接著擴充套件一位,得到,合併之前剩下的數得到 ,注意有個重複的6
....
這樣一直擴充套件下去,最多擴充套件1500次就找到第1500大小的數,每次擴充套件只能派生出3個數,所以儲存空間也就1500*3 = 4500
用優先佇列,每次取最小的數,看看跟上一次取的是不是一樣大,一樣的就拋棄,否則繼續擴充套件
其實可以更優一些
首先我們思考為什麼會產生重複的數?比如2*3, 3*2,因為3乘以了比它小的數2,如果一個數擴充套件的時候已經乘以過3了,那就不比它小的2進行擴充套件了。
我們可以記錄當前每個數他們最大乘以過裡面哪一個。比如2*2這個數可以用三個數擴充套件。2*3只能用比3大的數擴充套件,乘以過5就只能用5來擴充套件。
這樣就不會出現重複的數了。用優先佇列就可以擴充套件出最優的解。時間複雜度nlog(n),空間複雜度(n*3)
用vb求第1500個只有2,3,5因子的數。數是從小到大排列,第一個數是1,1=2^0*3^0*
12樓:綆氦螖劫
數1500=3x5x100=2^2*3*5^3 則1500是第(2+1)*(1+1)*(3+1)=24
設 m=2^x*3^y*5^z 有 (1+x)*(1+y)*(1+z)=1500=2^2*3*5^3
不妨令x=2^2-1 y=3-1 z=5^3-1 有 x=3,y=2 z=124 m=8x9x5^124=2x30^2x5^122(但m不是最小的那個,所以並不一定是第1500個,要使得他是第1500個,則使得m最小的x,y,z肯定是第1500個,因為m本身的正因數的就只有2,3,5的因子,且他又有正因數1500個,所以m本身必是第1500個。
要使得m最小,所以不妨再看
z=5-1,y=5-1 z=60-1 則此時m=2^59*3^4*5^4=30^4*2^55
z=0,y=0,x=1500-1=1499 m=2^1499
13樓:vb程式設計解放雙手
無法計算,太大了!溢位
以下是我從小到現在的成長經歷,現在我迷茫了,不知人生應該如何走下去,求各位指點
你好,你說你父母 你換位思考一下就會明白他們有他們的難處,他們並不是不愛你,不關心你。你說你缺少朋友 朋友是需要,但需要的是真正的朋友。你也許會羨慕你身邊的某些人,他們朋友成雲,實質上很多都是很膚淺的。每個人對異性有想法是很正常,但你要定位好自己,你現在是學習的時候,努力學習,考個好大學,在大學裡有...
從小到大數學很差是一種什麼樣的體驗
回憶 真的很絕望,小學一年級算術題滿分一百考了89,被老師打手心打到哭。初中考數學全班倒數第二,倒數第一是個有智力障礙的學生,是真的有智力障礙的。高中數學滿分150沒上過60分,大學數學也不停的掛,但是從小到大語文和英語還有文科成績很好,小學到高中語文基本前五前十,英語長期穩居班前三的水平 一個班5...
我從小到大都做夢。我在房子裡,門是關著的。然後外面突然起
二狗子的朋友 做夢只是潛意識的,不要管他 我就是個學生,說的不對你別介意,如果是常年做一種夢,說明你在潛意識裡有很深的心理創傷,或者經常受到某種心理暗示,建議你馬上去看心理醫生 夢見門窗關不上說明 家人會鬧矛盾。女性夢見門關不上 要出遠門,可能會有些小麻煩,但不會造成影響,多加謹慎則安。女人夢見門關...