日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【light 1341Aladdin and the Flying Carpet】

發布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【light 1341Aladdin and the Flying Carpet】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

給你矩形的面積(矩形的邊長都是正整數),讓你求最小的邊大于等于b的矩形的個數。

肯定是和面積的因子有關系了,邊長都是面積值的 因子。
那么就可以算出面積值得所有因子,因為是讓求得矩形得個數,當然是要<<1了,
還有個限制條件就是最小得邊長要大于等于b得,
那么把小于b得因子減去,得到的值就是符合條件的對數了

2
10 2
12 2
Sample Output
Case 1: 1
Case 2: 2

#include <iostream> #include <iostream> #include <cstring> using namespace std; typedef long long ll; const int maxn=1e6+10; int prime[maxn]; bool notprime[maxn]; ll n,area; void getprime(){memset(prime,0,sizeof(prime));memset(notprime,false,sizeof(notprime));notprime[0]=notprime[1]=true;for(int i=2;i<maxn;++i){if(!notprime[i]) prime[++prime[0]]=i;for(int j=1;j<=prime[0]&&prime[j]<=maxn/i;++j){notprime[prime[j]*i]=1;if(i%prime[j]==0)break;}} } int solve(){if(area/n<n)return 0;int ans=1;ll temp=area;for(int i=1; area/prime[i]>=prime[i];++i){int cnt=0;if(area%prime[i]==0){while(area%prime[i]==0){area/=prime[i];cnt++;}ans*=(cnt+1); }}if(area>1)ans<<=1; ans>>=1; //as an cloculsion://n have how many pairs of factors can be: n the number of factors divided by 2for(int i=1;i<n;++i){// because of the other factor greater or equal nif(temp%i==0)--ans; } return ans; } int main(){getprime();int t;scanf("%d",&t);//in>>t;for(int ca=1;ca<=t;++ca){scanf("%lld%lld",&area,&n);printf("Case %d: %d\n",ca,solve());}return 0; }

?

總結

以上是生活随笔為你收集整理的【light 1341Aladdin and the Flying Carpet】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。