【2018.4.14】模拟赛之一-ssl2391 数列
生活随笔
收集整理的這篇文章主要介紹了
【2018.4.14】模拟赛之一-ssl2391 数列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正題
大意
求1到c中屬于a+b?k(k∈N?)a+b?k(k∈N?)的等差數列中或屬于c+dk(k∈N?)c+dk(k∈N?)等比數列中的數的個數。
解題思路
等差數列的個數可以直接用公式計算,然后等比數列枚舉的話不會超時,然后用公式去重就好了
代碼
#include<iostream> #include<cstdio> using namespace std; long long k,a,b,c,d,s,maxs; int main() {cin>>a>>b>>c>>d>>maxs;if (maxs>=a)//特判s=(maxs-a)/b+1;//計算等差個數k=c;while (k<=maxs){if ((k-a)%b!=0 || k<a) s++;//去重k=k*d;//枚舉if (d==1) break;}cout<<s; }總結
以上是生活随笔為你收集整理的【2018.4.14】模拟赛之一-ssl2391 数列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ2446-Chessboard【最
- 下一篇: 【2018.4.14】模拟赛之二-ssl