Find 3-friendly Integers
生活随笔
收集整理的這篇文章主要介紹了
Find 3-friendly Integers
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Find 3-friendly Integers
題意:
定義一個(gè)自然數(shù)是精妙的,如果他存在一個(gè)字串(允許前導(dǎo)0)是3的倍數(shù)
問(wèn)L到R中精妙的數(shù)的個(gè)數(shù)
題解:
數(shù)位dp可以做(但我不會(huì)。。。)
用結(jié)論來(lái)做,當(dāng)n>=100時(shí)(即為3位數(shù)時(shí))必然是精妙的數(shù),這樣只需要對(duì)<100的暴力即可。這樣想,對(duì)于每一位mod3,也就是每一位是0/1/2中的一個(gè),如果是0直接合法,也就是剩下3位中分別選1/2,怎么都會(huì)有和為3倍數(shù)的情況
代碼:
#include<iostream> #include<cstdio> using namespace std; int T; long long L,R; int main() {cin>>T;for(int k=1;k<=T;k++){cin>>L>>R;if(L>=100) cout<<R-L+1<<endl;else{if(R<100){int sum=0;for(int i=L;i<=R;i++){if(i%3==0) {sum++;continue;}else{if(i>=10){if((i/10)%3==0||(i%10)%3==0){sum++;continue;}}}}cout<<sum<<endl;}else{long long sum=0;sum+=R-100+1;for(int i=L;i<100;i++){if(i%3==0) {sum++;continue;}else if(i>=10){if((i/10)%3==0||(i%10)%3==0){sum++;continue;}}}cout<<sum<<endl;}}}return 0; }總結(jié)
以上是生活随笔為你收集整理的Find 3-friendly Integers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 肉可以冷冻多久 猪肉在冷冻状态下最多可以
- 下一篇: Minimum spanning tre