long int == long long
时间: 2023-11-21 21:06:41 浏览: 63
在某些编程语言中,long int 和 long long 都是用来表示整型数据的关键字。它们的区别在于它们能够表示的范围不同。通常情况下,long int 可以表示的范围比 int 更大,而 long long 则比 long int 更大。具体的表示范围取决于编程语言的实现。例如在C++中,long int 的范围是至少和 int 一样长的,而 long long 的范围则是至少和 long int 一样长的。需要注意的是,使用 long long 可能会导致代码更加耗时,因为它需要更多的内存空间来存储。
相关问题
在C语言中(以32位PC为例),以下5种数据类型的存储空间长度的排列顺序为( )。 A.char< int < long int <= float < double B.char= int < long int <= float < double C.char < int =long int = float<double D.char= int= long int <= float < double
答案是B。char和int都是4个字节,long int是8个字节,float是4个字节,double是8个字节。因此,char和int的存储空间长度相同,而long int和double的存储空间长度相同,但是long int比float长。
识别这段代码算法#include<bits/stdc++.h> using namespace std; int O=100001; long long int erfen(long long int a,long long int b,long long int c) { long long int d=a-bc+2; long long int l=1,r=d/2,mid; while(l<=r){ mid=l+((r-l)/2); if(mid(d-mid)<a) l=mid+1; else r=mid-1; } return l; } int main() { long long int k,n[O],d[O],e[O]; cin>>k; for(int i=0;i<=k-1;i++) { cin>>n[i]>>d[i]>>e[i]; long long int j=erfen(n[i],d[i],e[i]); long long int q=n[i]-d[i]e[i]+2-j; if(jq==n[i]) { if(j<=q) cout<<j<<" "<<q; else cout<<q<<" "<<j; } else cout<<"NO"; cout<<endl; } }
这段代码使用的算法是快速排序。
快速排序是一种分治算法,它将一个序列分成两个子序列,并对这两个子序列分别排序。它使用了一个叫做"分区"的过程来将一个序列分成两个子序列,并递归地对这两个子序列进行排序。
快速排序的时间复杂度为O(nlogn),它的性能比较优秀,常用于排序大型序列。
这段代码使用了递归的方式来实现快速排序。在每次调用递归函数时,它都会对一个子序列进行排序。最终,所有的子序列都会被排序,整个序列也就被排好了序。
阅读全文