啥也別說了
看C++和算法,眼淚嘩嘩的。。。
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
algorithm(14)
(rss)
pku/acm(59)
(rss)
數字圖像(1)
(rss)
隨筆檔案
2010年5月 (1)
2010年3月 (5)
2009年3月 (1)
2008年12月 (1)
2008年11月 (66)
搜索
最新評論
1.?re: ACM 2325 Persistent Number 大數相除
大數相除部分,貌似100/20的結果是錯的。
--Raise
2.?re: 字典樹原理(轉)
一看就是c++外行寫的代碼,
--ddd
3.?re: ACM 1664 放蘋果
贊。。新手 看了豁然開朗。.。謝謝了
--mokuku
4.?re: 字典樹原理(轉)
代碼風格不是很好
--ygqwna
5.?re: 字典樹原理(轉)[未登錄]
只有new,沒有delete,必然內存泄露
--123
閱讀排行榜
1.?字典樹原理(轉)(7998)
2.?STL 堆排序使用和體會(轉)(2094)
3.?ACM 2325 Persistent Number 大數相除(1893)
4.?二叉樹實例(1739)
5.?大概了解cin,cin.getline,cin.clear,cin.ignore,cin.get()的用法(1627)
評論排行榜
1.?字典樹原理(轉)(7)
2.?ACM 1730 Perfect Pth Powers(3)
3.?ACM 1929 Calories from Fat(2)
4.?ACM 2325 Persistent Number 大數相除(2)
5.?ACM 2316 SPIN(2)
Powered by:
博客園
模板提供:
滬江博客
C++博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
ACM 1730 Perfect Pth Powers
#include
<
iostream
>
#include
<
math.h
>
using
namespace
std;
int
main()
{
long
long
mm,i,n;
double
m,p;
while
(
1
)
{
scanf(
"
%I64d
"
,
&
n);
if
(
!
n)
break
;
if
(n
>
0
)
{
i
=
(
long
long
)(log((
double
)n)
/
log(
2.0000000
))
+
1
;
for
(;i
>
1
;
--
i)
{
m
=
pow((
double
)n,
1.0000000
/
(
double
)i);
mm
=
(
long
long
)m;
if
(m
-
(
double
)mm
<
1e
-
12
||
(
double
)mm
+
1
-
m
<
1e
-
12
)
{
printf(
"
%I64d\n
"
,i);
break
;
}
}
if
(i
==
1
)
printf(
"
1\n
"
);
}
else
{
n
=-
n;
i
=
(
long
long
)(log((
double
)n)
/
log(
2.0000000
))
+
1
;
if
(i
%
2
==
0
)
--
i;
for
(;i
>
1
;i
-=
2
)
{
m
=
pow((
double
)n,
1.0000000
/
(
double
)i);
mm
=
(
long
long
)m;
if
(m
-
(
double
)mm
<
1e
-
12
||
(
double
)mm
+
1
-
m
<
1e
-
12
)
{
printf(
"
%I64d\n
"
,i);
break
;
}
}
if
(i
==
1
)
printf(
"
1\n
"
);
}
}
return
0
;
}
直接枚舉。
貌似pow()函數比log()快。之前用log()函數枚舉對數的底,超時。
對輸入要分正負。枚舉的范圍是[1,log((double)n)/log(2.0000000)+1]。
當x為正數時,p取以上區間所有整數,在符合的p中取最大。
當x為負數時,將x轉化為正數處理,p取以上區間所有奇數(因為只有奇數次冪才可能等于負數),
在符合的p中取最大。
發表于 2008-11-17 22:54
hunter
閱讀(511)
評論(3)
編輯
收藏
引用
所屬分類:
pku/acm
評論
#
re: ACM 1730 Perfect Pth Powers
回復
更多評論
哈哈,一群笨蛋,原始方法是你們想的嗎?
不懂創新,中國的未來堪憂啊
姚
評論于 2011-06-05 14:55
#
re: ACM 1730 Perfect Pth Powers
回復
更多評論
看我的代碼,雖然很亂,方法笨蛋,但是這是我花幾個小時自己想的的
/*
* File: main.cpp
* Author: Administrator
*
* Created on 2011年6月5日, 下午1:15
*/
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
/*
*
*/
int main(int argc, char** argv) {
long long n;
while (cin >> n) {
int flag[1000] = {0};
if (n == 0)
break;
else if (n < 0) {
n = -n;
long long k = n;
int count = 0;
int p = 1;
for (int i = 2; (i <= sqrt(k) + 1) && (i < k); i++) {
while (k % i == 0) {
flag[count]++;
k = k / i;
}
if (k != n) {
count++;
}
}
if (k != 1) {
cout << p << endl;
} else {
if (count == 1 || count == 0) {
while (flag[0] % 2 == 0) {
flag[0] = flag[0] / 2;
}
cout << flag[0] << endl;
} else {
for (p = flag[0];; p--) {
if (p % 2 == 0) {
p--;
}
int m = 0;
while (flag[m] % p == 0 && m < count) {
m++;
}
if (m == count) {
cout << p << endl;
break;
}
}
}
}
}
else if (n > 0) {
long k = n;
int count = 0;
int p = 1;
for (int i = 2; (i <= sqrt(k) + 1) && (i < k); i++) {
while (k % i == 0) {
flag[count]++;
k = k / i;
}
if (k != n) {
count++;
}
}
if (k != 1) {
cout << p << endl;
} else {
if (count == 1 || count == 0) {
cout << flag[0] << endl;
} else {
for (p = flag[0];; p--) {
int m = 0;
while (flag[m] % p == 0 && m < count) {
m++;
}
if (m == count) {
cout << p << endl;
break;
}
}
}
}
}
}
return 0;
}
姚
評論于 2011-06-05 14:56
#
re: ACM 1730 Perfect Pth Powers
回復
更多評論
QQ 354615286
姚
評論于 2011-06-05 14:58
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
ACM 2402 Palindrome Numers
ACM 2325 Persistent Number 大數相除
ACM 2316 SPIN
ACM 2299 Ultra QuickSort 合并排序的應用
ACM 2291 Rotten Ropes
ACM 2275 Flipping Pancake reverse()函數的應用
ACM 2273 An Excel-lent Problem
ACM 2183 Bovine Math Geniuses
ACM 2141 Message Decowding
ACM 2140 Herd Sums
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
久久人妻少妇嫩草AV无码蜜桃
|
久久亚洲精品无码播放
|
无码人妻久久久一区二区三区
|
久久久久亚洲av无码专区导航
|
久久精品国产久精国产
|
久久国产成人精品国产成人亚洲
|
久久国产午夜精品一区二区三区
|
久久精品免费一区二区
|
久久精品九九亚洲精品天堂
|
一本久久免费视频
|
久久av无码专区亚洲av桃花岛
|
久久av高潮av无码av喷吹
|
伊人久久大香线蕉av一区
|
99热精品久久只有精品
|
亚洲乱码中文字幕久久孕妇黑人
|
精品水蜜桃久久久久久久
|
久久精品九九亚洲精品
|
久久午夜免费视频
|
秋霞久久国产精品电影院
|
久久精品国产2020
|
久久久久亚洲av成人无码电影
|
欧美久久综合性欧美
|
久久精品中文无码资源站
|
久久精品中文字幕一区
|
人妻丰满?V无码久久不卡
|
久久天堂电影网
|
国产产无码乱码精品久久鸭
|
伊人久久大香线焦AV综合影院
|
亚洲午夜精品久久久久久浪潮
|
99久久国产综合精品网成人影院
|
日韩久久久久久中文人妻
|
久久精品国产99国产精品
|
一本大道久久a久久精品综合
|
久久精品一本到99热免费
|
亚洲精品无码久久一线
|
久久久久国产精品人妻
|
亚洲va久久久噜噜噜久久狠狠
|
无码精品久久久天天影视
|
婷婷五月深深久久精品
|
久久综合给合久久狠狠狠97色69
|
久久久一本精品99久久精品88
|