- 浏览: 155496 次
- 性别:
- 来自: 内蒙古
文章分类
最新评论
-
linest:
ethi_teye 写道id可能是0开头的,你用int保存再输 ...
pat-1022 Digital Library -
ethi_teye:
id可能是0开头的,你用int保存再输出,这些0就被忽略了。
pat-1022 Digital Library -
lixuanchong:
在lz的代码上稍作修改即可:
#include<iost ...
pat-1010* Radix -
air_sky:
确实。。result=a0*base^0+a1*base^1+ ...
pat-1010* Radix -
linest:
air_sky 写道
关于“方程只有一个正整数解,就可以用二分 ...
pat-1010* Radix
1010: 给出两个数,已知一个数的进制,求是否可以在某进制下两数相等。
如例子一,第一个数为10进制6 110 如果2进制则相等。
Sample Input 1:
6 110 1 10
Sample Output 1:
2
Sample Input 2:
1 ab 1 2
Sample Output 2:
Impossible
不用二分搜索时第7case超时 ,用了二分搜索第10case错误。。。
交了好多遍。。。求正确代码。。。
关于“方程只有一个正整数解,就可以用二分法”是不正确的。例如方程(x-2)^2=0在[0, 3]上运用二分法寻根的话,会得出错误的无解结论。。所以,能运用二分法求解的必要条件是方程F(x)=c所表示的函数G(x)=F(x)-c在区间边界异号。。
上述表达得不是太清楚,希望可以看懂。至于严谨的数学证明,还待高人来证明。
所以我在区间过大,且边界异号的情况下采用二分法。但始终无法消灭测试点10。
(x-2)^2 = 0 在[0,3]范围内不是单调函数,所以不能用二分。
本题中同一个表达串随着进制增加,结果会越来越大,是单调递增的,你举得例子好像不适合本题哎, 欢迎继续讨论。
能过已经挺强了 我现在也不知道为啥~~~
改了还是过不了。。。你是怎么过的呢
如例子一,第一个数为10进制6 110 如果2进制则相等。
Sample Input 1:
6 110 1 10
Sample Output 1:
2
Sample Input 2:
1 ab 1 2
Sample Output 2:
Impossible
不用二分搜索时第7case超时 ,用了二分搜索第10case错误。。。
交了好多遍。。。求正确代码。。。
#include<iostream> using namespace std; #include<string.h> char A[11]; char B[11]; long long least; long long num2Dec(char * p,long long radix) { long long len=strlen(p); long long m = 1; long long num = 1; long long sum = 0; for(long long i=len-1;i>=0;i--) { if(p[i]>='a'&&p[i]<='z') num= p[i] - 'a' + 10; else if(p[i]>='0'&& p[i]<='9') num=p[i] - '0'; sum+=num*m; m*=radix; } return sum; } long long findLowRadix(char *p) { long long len=strlen(p); long long low=0; long long num; for(long long i=len-1;i>=0;i--) { if(p[i]>='a'&&p[i]<='z') num= p[i] - 'a' + 10; else if(p[i]>='0'&& p[i]<='9') num=p[i] - '0'; if(num+1>low) low=num+1; } return low; } int compare(char* p,long long radix ,long long target) { long long len=strlen(p); long long m = 1; long long num = 1; long long sum = 0; for(long long i=len-1;i>=0;i--) { if(p[i]>='a'&&p[i]<='z') num= p[i] - 'a' + 10; else if(p[i]>='0'&& p[i]<='9') num=p[i] - '0'; sum+=num*m; m*=radix; if(sum>target) //avoid overflow return 1; } if(sum>target) return 1; else if(sum<target) return -1; else return 0; } long long binarySearch(char *p,long long low,long long high,long long top) { long long mid; long long tmp; while(low<=high) { mid = (low + high)/2; tmp = compare(p,mid,top); if(tmp>0) { high = mid-1; } else if(tmp<0) { low = mid +1; } else return mid; } return -1; } int main() { long long tag; long long radix; long long target; long long least; // lowest possible radix long long most; // highest possible radix long long res; cin>>A; cin>>B; cin>>tag; cin>>radix; if(1==tag) { target=num2Dec(A,radix); least = findLowRadix(B); most = (target + 1 > least + 1) ? target +1 :least +1; res = binarySearch(B,least,most,target); if(res==-1) cout<<"Impossible"<<endl; else cout<<res<<endl; } else if(2==tag) { target=num2Dec(B,radix); least = findLowRadix(A); most = (target + 1 > least + 1) ? target +1 :least +1; res = binarySearch(A,least,most,target); if(res==-1) cout<<"Impossible"<<endl; else cout<<res<<endl; } }
评论
8 楼
lixuanchong
2012-01-30
在lz的代码上稍作修改即可:
#include<iostream> #include<string.h> #include <string> using namespace std; void cutZero( string & str ) { string::iterator it = str.begin(); for( ;it!=str.end();++it ) { if(*it != '0') { break; } } str.erase(str.begin() , it); } char A[11]; char B[11]; long long least; long long num2Dec(char * p,long long radix) { long long len=strlen(p); long long m = 1; long long num = 1; long long sum = 0; for(long long i=len-1;i>=0;i--) { if(p[i]>='a'&&p[i]<='z') num= p[i] - 'a' + 10; else if(p[i]>='0'&& p[i]<='9') num=p[i] - '0'; sum+=num*m; m*=radix; } return sum; } long long findLowRadix(char *p) { long long len=strlen(p); long long low=0; long long num; for(long long i=len-1;i>=0;i--) { if(p[i]>='a'&&p[i]<='z') num= p[i] - 'a' + 10; else if(p[i]>='0'&& p[i]<='9') num=p[i] - '0'; if(num+1>low) low=num+1; } return low; } int compare(char* p,long long radix ,long long target) { long long len=strlen(p); long long m = 1; long long num = 1; long long sum = 0; for(long long i=len-1;i>=0;i--) { if(p[i]>='a'&&p[i]<='z') num= p[i] - 'a' + 10; else if(p[i]>='0'&& p[i]<='9') num=p[i] - '0'; sum+=num*m; m*=radix; if(sum>target) //avoid overflow return 1; } if(sum>target) return 1; else if(sum<target) return -1; else return 0; } long long binarySearch(char *p,long long low,long long high,long long top) { long long mid; long long tmp; while(low<=high) { mid = (low + high)/2; tmp = compare(p,mid,top); if(tmp>0) { high = mid-1; } else if(tmp<0) { low = mid +1; } else return mid; } return -1; } int main() { long long tag; long long radix; long long target; long long least; // lowest possible radix long long most; // highest possible radix long long res; cin>>A; cin>>B; cin>>tag; cin>>radix; //////////////////////////////////////////// string a_str = A; string b_str = B; cutZero(a_str); cutZero(a_str); if( a_str == b_str ) { cout << radix << endl; return 0; } //////////////////////////////////////////// if(1==tag) { target=num2Dec(A,radix); least = findLowRadix(B); most = (target + 1 > least + 1) ? target +1 :least +1; res = binarySearch(B,least,most,target); if(res==-1) cout<<"Impossible"<<endl; else cout<<res<<endl; } else if(2==tag) { target=num2Dec(B,radix); least = findLowRadix(A); most = (target + 1 > least + 1) ? target +1 :least +1; res = binarySearch(A,least,most,target); if(res==-1) cout<<"Impossible"<<endl; else cout<<res<<endl; } }
7 楼
air_sky
2011-10-15
确实。。result=a0*base^0+a1*base^1+a2*base^2+...+an*base^n,所有数都是非负数,函数应该是单调递增。。
按理确实可以二分法查找,但是测试用例也确实存在二分法找不到而穷举法找到的情况。。就是不知道测试用例具体是什么数据。。
按理确实可以二分法查找,但是测试用例也确实存在二分法找不到而穷举法找到的情况。。就是不知道测试用例具体是什么数据。。
6 楼
linest
2011-10-11
air_sky 写道
关于“方程只有一个正整数解,就可以用二分法”是不正确的。例如方程(x-2)^2=0在[0, 3]上运用二分法寻根的话,会得出错误的无解结论。。所以,能运用二分法求解的必要条件是方程F(x)=c所表示的函数G(x)=F(x)-c在区间边界异号。。
上述表达得不是太清楚,希望可以看懂。至于严谨的数学证明,还待高人来证明。
所以我在区间过大,且边界异号的情况下采用二分法。但始终无法消灭测试点10。
(x-2)^2 = 0 在[0,3]范围内不是单调函数,所以不能用二分。
本题中同一个表达串随着进制增加,结果会越来越大,是单调递增的,你举得例子好像不适合本题哎, 欢迎继续讨论。
5 楼
air_sky
2011-10-03
昨天早上终于把1010. radix过了。。这几天来也是有参照你的代码,所以特地来说说心得,交流交流。。
关于“方程只有一个正整数解,就可以用二分法”是不正确的。例如方程(x-2)^2=0在[0, 3]上运用二分法寻根的话,会得出错误的无解结论。。所以,能运用二分法求解的必要条件是方程F(x)=c所表示的函数G(x)=F(x)-c在区间边界异号。。
上述表达得不是太清楚,希望可以看懂。至于严谨的数学证明,还待高人来证明。
所以我在区间过大,且边界异号的情况下采用二分法。但始终无法消灭测试点10。
最后方案是:先在low~low+32767范围内用for查找,再对过大的区间进行二分法,最后在剩下的小区间用for查找。。终于AC。。
若有需要代码的话我再贴出吧。
PS:竟然注册满一天才能评论,晕。。
关于“方程只有一个正整数解,就可以用二分法”是不正确的。例如方程(x-2)^2=0在[0, 3]上运用二分法寻根的话,会得出错误的无解结论。。所以,能运用二分法求解的必要条件是方程F(x)=c所表示的函数G(x)=F(x)-c在区间边界异号。。
上述表达得不是太清楚,希望可以看懂。至于严谨的数学证明,还待高人来证明。
所以我在区间过大,且边界异号的情况下采用二分法。但始终无法消灭测试点10。
最后方案是:先在low~low+32767范围内用for查找,再对过大的区间进行二分法,最后在剩下的小区间用for查找。。终于AC。。
若有需要代码的话我再贴出吧。
PS:竟然注册满一天才能评论,晕。。
4 楼
linest
2011-09-24
zhucezhenmafan 写道
/*
不好意思,我记错了,是把mid = low;
这是今天刚过的代码(就是你的代码修改了下),这里不能贴图,要不就把AC的状态发给你看。
我在pat的老的网站和改域名的网站都提交过了,下面是运行状态。
另外,本人很菜,我真不知道为啥这样能AC,希望有高手指导下。
9069 2011-09-23 12:36:46 Accepted Info 0 1010 C++ 0 184
2011年9月23日 星期五 12:48:36 HKT 答案正确 25 1010 C++ (g++) 0 690
*/
不好意思,我记错了,是把mid = low;
这是今天刚过的代码(就是你的代码修改了下),这里不能贴图,要不就把AC的状态发给你看。
我在pat的老的网站和改域名的网站都提交过了,下面是运行状态。
另外,本人很菜,我真不知道为啥这样能AC,希望有高手指导下。
9069 2011-09-23 12:36:46 Accepted Info 0 1010 C++ 0 184
2011年9月23日 星期五 12:48:36 HKT 答案正确 25 1010 C++ (g++) 0 690
*/
能过已经挺强了 我现在也不知道为啥~~~
3 楼
zhucezhenmafan
2011-09-23
/*
不好意思,我记错了,是把mid = low;
这是今天刚过的代码(就是你的代码修改了下),这里不能贴图,要不就把AC的状态发给你看。
我在pat的老的网站和改域名的网站都提交过了,下面是运行状态。
另外,本人很菜,我真不知道为啥这样能AC,希望有高手指导下。
9069 2011-09-23 12:36:46 Accepted Info 0 1010 C++ 0 184
2011年9月23日 星期五 12:48:36 HKT 答案正确 25 1010 C++ (g++) 0 690
*/
#include<iostream>
using namespace std;
#include<string.h>
char A[11];
char B[11];
long long least;
long long num2Dec(char * p,long long radix)
{
long long len=strlen(p);
long long m = 1;
long long num = 1;
long long sum = 0;
for(long long i=len-1;i>=0;i--)
{
if(p[i]>='a'&&p[i]<='z')
num= p[i] - 'a' + 10;
else if(p[i]>='0'&& p[i]<='9')
num=p[i] - '0';
sum+=num*m;
m*=radix;
}
return sum;
}
long long findLowRadix(char *p)
{
long long len=strlen(p);
long long low=0;
long long num;
for(long long i=len-1;i>=0;i--)
{
if(p[i]>='a'&&p[i]<='z')
num= p[i] - 'a' + 10;
else if(p[i]>='0'&& p[i]<='9')
num=p[i] - '0';
if(num+1>low)
low=num+1;
}
return low;
}
int compare(char* p,long long radix ,long long target)
{
long long len=strlen(p);
long long m = 1;
long long num = 1;
long long sum = 0;
for(long long i=len-1;i>=0;i--)
{
if(p[i]>='a'&&p[i]<='z')
num= p[i] - 'a' + 10;
else if(p[i]>='0'&& p[i]<='9')
num=p[i] - '0';
sum+=num*m;
m*=radix;
if(sum>target) //avoid overflow
return 1;
}
if(sum>target)
return 1;
else if(sum<target)
return -1;
else
return 0;
}
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid = low;
long long tmp;
while(low<=high)
{
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
mid = (low + high)/2;
}
return -1;
}
int main()
{
long long tag;
long long radix;
long long target;
long long least; // lowest possible radix
long long most; // highest possible radix
long long res;
cin>>A;
cin>>B;
cin>>tag;
cin>>radix;
if(1==tag)
{
target=num2Dec(A,radix);
least = findLowRadix(B);
most = (target + 1 > least + 1) ? target +1 :least +1;
res = binarySearch(B,least,most,target);
if(res==-1)
cout<<"Impossible"<<endl;
else
cout<<res<<endl;
}
else if(2==tag)
{
target=num2Dec(B,radix);
least = findLowRadix(A);
most = (target + 1 > least + 1) ? target +1 :least +1;
res = binarySearch(A,least,most,target);
if(res==-1)
cout<<"Impossible"<<endl;
else
cout<<res<<endl;
}
}
不好意思,我记错了,是把mid = low;
这是今天刚过的代码(就是你的代码修改了下),这里不能贴图,要不就把AC的状态发给你看。
我在pat的老的网站和改域名的网站都提交过了,下面是运行状态。
另外,本人很菜,我真不知道为啥这样能AC,希望有高手指导下。
9069 2011-09-23 12:36:46 Accepted Info 0 1010 C++ 0 184
2011年9月23日 星期五 12:48:36 HKT 答案正确 25 1010 C++ (g++) 0 690
*/
#include<iostream>
using namespace std;
#include<string.h>
char A[11];
char B[11];
long long least;
long long num2Dec(char * p,long long radix)
{
long long len=strlen(p);
long long m = 1;
long long num = 1;
long long sum = 0;
for(long long i=len-1;i>=0;i--)
{
if(p[i]>='a'&&p[i]<='z')
num= p[i] - 'a' + 10;
else if(p[i]>='0'&& p[i]<='9')
num=p[i] - '0';
sum+=num*m;
m*=radix;
}
return sum;
}
long long findLowRadix(char *p)
{
long long len=strlen(p);
long long low=0;
long long num;
for(long long i=len-1;i>=0;i--)
{
if(p[i]>='a'&&p[i]<='z')
num= p[i] - 'a' + 10;
else if(p[i]>='0'&& p[i]<='9')
num=p[i] - '0';
if(num+1>low)
low=num+1;
}
return low;
}
int compare(char* p,long long radix ,long long target)
{
long long len=strlen(p);
long long m = 1;
long long num = 1;
long long sum = 0;
for(long long i=len-1;i>=0;i--)
{
if(p[i]>='a'&&p[i]<='z')
num= p[i] - 'a' + 10;
else if(p[i]>='0'&& p[i]<='9')
num=p[i] - '0';
sum+=num*m;
m*=radix;
if(sum>target) //avoid overflow
return 1;
}
if(sum>target)
return 1;
else if(sum<target)
return -1;
else
return 0;
}
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid = low;
long long tmp;
while(low<=high)
{
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
mid = (low + high)/2;
}
return -1;
}
int main()
{
long long tag;
long long radix;
long long target;
long long least; // lowest possible radix
long long most; // highest possible radix
long long res;
cin>>A;
cin>>B;
cin>>tag;
cin>>radix;
if(1==tag)
{
target=num2Dec(A,radix);
least = findLowRadix(B);
most = (target + 1 > least + 1) ? target +1 :least +1;
res = binarySearch(B,least,most,target);
if(res==-1)
cout<<"Impossible"<<endl;
else
cout<<res<<endl;
}
else if(2==tag)
{
target=num2Dec(B,radix);
least = findLowRadix(A);
most = (target + 1 > least + 1) ? target +1 :least +1;
res = binarySearch(A,least,most,target);
if(res==-1)
cout<<"Impossible"<<endl;
else
cout<<res<<endl;
}
}
2 楼
linest
2011-09-22
zhucezhenmafan 写道
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid;
long long tmp;
while(low<=high)
{
mid = (low + high)/2;
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
}
return -1;
}
红色的地方改下就过了,代码如下:
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid = high;
long long tmp;
while(low<=high)
{
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
mid = (low + high)/2;
}
return -1;
}
事实上,我也不知道为什么。按照上面的改法,按说,题目可以看成是求整数系数f(x)=C的解,而且除了常数项,其他系数全是正的,就是说,方程最多有一个正数解,也就是最多有一个正整数解。二分法是不会有错的。。。。。。
{
long long mid;
long long tmp;
while(low<=high)
{
mid = (low + high)/2;
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
}
return -1;
}
红色的地方改下就过了,代码如下:
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid = high;
long long tmp;
while(low<=high)
{
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
mid = (low + high)/2;
}
return -1;
}
事实上,我也不知道为什么。按照上面的改法,按说,题目可以看成是求整数系数f(x)=C的解,而且除了常数项,其他系数全是正的,就是说,方程最多有一个正数解,也就是最多有一个正整数解。二分法是不会有错的。。。。。。
改了还是过不了。。。你是怎么过的呢
1 楼
zhucezhenmafan
2011-09-22
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid;
long long tmp;
while(low<=high)
{
mid = (low + high)/2;
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
}
return -1;
}
红色的地方改下就过了,代码如下:
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid = high;
long long tmp;
while(low<=high)
{
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
mid = (low + high)/2;
}
return -1;
}
事实上,我也不知道为什么。按照上面的改法,按说,题目可以看成是求整数系数f(x)=C的解,而且除了常数项,其他系数全是正的,就是说,方程最多有一个正数解,也就是最多有一个正整数解。二分法是不会有错的。。。。。。
{
long long mid;
long long tmp;
while(low<=high)
{
mid = (low + high)/2;
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
}
return -1;
}
红色的地方改下就过了,代码如下:
long long binarySearch(char *p,long long low,long long high,long long top)
{
long long mid = high;
long long tmp;
while(low<=high)
{
tmp = compare(p,mid,top);
if(tmp>0)
{
high = mid-1;
}
else if(tmp<0)
{
low = mid +1;
}
else
return mid;
mid = (low + high)/2;
}
return -1;
}
事实上,我也不知道为什么。按照上面的改法,按说,题目可以看成是求整数系数f(x)=C的解,而且除了常数项,其他系数全是正的,就是说,方程最多有一个正数解,也就是最多有一个正整数解。二分法是不会有错的。。。。。。
发表评论
-
pat-1016 Phone Bills
2012-02-27 00:01 3151Sample Input:10 10 10 10 10 10 ... -
pat-1018 Public Bike Management 有问题
2012-02-26 19:55 3600最后一个case还过不了 == 为什么呢 思路dfs遍历到目 ... -
pat-1017* Queueing at Bank
2012-02-25 12:32 2118银行8点至17点开 有固定窗口数 来早了要等,没窗口要等,1 ... -
pat-1021* Deepest Root
2012-02-25 00:36 2764判断图是否都连接构成树,求使树高最大的根 实际上求图上两点间 ... -
pat-1022 Digital Library
2012-02-27 14:26 1815可能的查询 ID值进行map映射 以下代码有问题,原因 ... -
pat-1020* Tree Traversals
2012-02-23 15:20 1529给后序和中序遍历 求层序遍历 Sample Input:7 ... -
pat-1019 General Palindromic Number
2012-02-23 00:26 1096判断数字在给定进制下是否回文 并打出进制转换后系数 思路,将 ... -
pat-1026 Table Tennis
2012-02-19 19:19 0题意?? 多个桌可用 vip桌可用时 队中vip还是最小号 ... -
pat-1025 PAT Ranking
2012-02-19 15:45 1356不同地点一起排序 先组内排序,再全局排序 将小组添加进全局 ... -
pat-1024 Palindromic Number
2012-02-20 00:56 1999如果不是回文则进行逆序相加操作,打印出最后回文和操作次数 题 ... -
pat-1023 Have Fun with Numbers
2012-02-19 00:26 2567判断一个数乘2后是否是原数的一个排列 思路: int最大值 ... -
pat-1015 Reversible Primes
2011-09-28 20:08 1482将数字转成指定进制,再反序,判断原数和新数是否都是质数。 ... -
pat-1009 Product of Polynomials
2011-09-19 23:31 12161009:多项式乘积。 Sample Input 2 1 2 ... -
pat-1008 Elevator
2011-09-19 23:09 9421008: 电梯上升一层6秒,下降4秒,停留5秒。给出请求序列 ... -
pat-1007 Maximum Subsequence Sum
2011-09-19 22:59 15121007:连续和最大子串。 O(n)时间即可完成,不需存储空 ... -
pat-1006 Sign In and Sign Out
2011-09-18 23:35 14261006:给出进入和离开时间,求最早来和最晚走的人 Samp ... -
pat-1005 Spell It Right
2011-09-18 22:52 10991005:计算各个数字的和,并翻译成英文。 Sample I ... -
pat-1004* Counting Leaves
2011-09-18 22:35 17521004: 统计树的每一层上叶子节点的个数 Sample I ... -
pat-1014* Waiting in Line
2011-09-17 10:42 19271014: 排队服务问题,队列实现。 注意条件控制。 # ... -
pat-1012 The Best Rank
2011-09-16 23:58 19241012: 找出最佳排名 代码有点冗余。。。用了一些stl容 ...
相关推荐
**Radix-4与Radix-2快速傅里叶变换(FFT)实现** 在数字信号处理和计算领域,快速傅里叶变换(Fast Fourier Transform,FFT)是一种高效计算离散傅里叶变换(DFT)及其逆变换的方法。FFT算法大大减少了计算量,尤其...
- **-t radix 或 --radix=radix**:使用指定的进制显示符号值。`radix` 可以为 `d` 表示十进制、`o` 表示八进制或 `x` 表示十六进制。 - **--target=bfdname**:指定目标代码的格式,而非使用系统的默认格式。 - **-...
- `radix`: 基数。 - **返回值**: 字符`ch`的数值。 ##### 13. `static int digit(int codePoint, int radix)` - **功能**: 返回使用指定基数的指定字符(Unicode代码点)的数值。 - **参数**: - `codePoint`: ...
- **2.2 The radix permutation**: radix置换。 - **2.3 In-place matrix transposition**: 原地矩阵转置。 - **2.4 The triple reversion technique**: 三重反转技术。 - **2.5 The zippermutation**: Zipper...
- **语法**:`parseInt(string, radix);` - **功能**:将字符串转换为整数。 19. **Random(随机数)** - **语法**:`Math.random();` - **功能**:生成0到1之间的随机数。 20. **Scroll(滚动)** - **语法*...
- **The Radix Permutation**: A permutation technique based on radix sorting. - **In-Place Matrix Transposition**: Methods for transposing matrices in-place. - **Rotation by Triple Reversal**: An ...
- **Setting the Default Radix**:设置默认基数的方法。 - **Special Characters**:特殊字符在字符串中的使用。 - **The Current Simulation Time**:当前模拟时间的概念。 - **Suppressing Spaces in Your Output...
根据给定文件的信息,我们可以总结出C语言中与文件标题和描述相关的重要知识点,特别是针对字符处理函数以及数学函数的应用。 ### 字符处理函数 在C语言中,字符处理函数通常用于判断或转换字符,这些函数大部分...
- **toString([radix])**: 返回数字的字符串表示。 - **参数**: `radix`: 进制。 - **兼容性**: N4, IE4 - **toPrecision(precision)**: 返回数字的精确度表示。 - **参数**: `precision`: 精确度。 - **兼容性*...
- **Radix**: 权,基数,表示数制中不同的进制。 - **Chain**: 串,一系列连续的元素。 - **Remainder**: 余数,除法运算后剩余的部分。 - **Digit**: 位数,组成数字的每个单独的数字。 - **Fractional**: 小数的,...
- **The Radix Permutation**: A permutation that orders data based on its radix representation. - **In-Place Matrix Transposition**: Transposing matrices without extra storage. - **Rotation by ...
- **Radix-2 representation**:介绍基数2表示法。 - **A sparse signed binary representation**:讲解稀疏有符号二进制表示。 - **Generating bit combinations**:介绍生成位组合的方法。 - **Generating bit...
- **基数排序(Radix Sort)**: - **概念**:对于整数排序,按照低位到高位的顺序进行排序。 - **应用**:适用于整数排序,特别是当数据范围较大时。 以上就是对这份《算法导论》答案集中关键知识点的总结,这些...
- **根、基数**: `radix` 在数学中指的是进位制的基数,例如十进制的基数为10。 - **八进制**: `octal` 是一种基数为8的进位制。 - **字母表**: `alphabet` 在计算机领域中可能指的是字符集,如ASCII码表。 - **分数...
13. **digit(int codePoint, int radix)** - **功能**:此方法用于获取指定Unicode代码点在指定基数下的数值。 - **参数**: - `codePoint`:Unicode代码点。 - `radix`:基数。 - **返回值**:返回代码点在...
#### 1003 radix 参数必须介于2至36之间 - **描述**:当使用转换基数的方法如 `parseInt` 或者相关函数时,如果传递的基数不在2到36之间,就会出现这个错误。 - **解决方法**: - 重新检查基数参数的值,并确保其在...
- **参数**:`radix`表示进制,默认为10。 - **示例**:`parseInt("123", 10);` // 返回123 **4. 获取当前时间** - **方法**:通过`Date`对象的属性获取当前时间的小时、分钟和秒数。 - **示例**: ```...