Div3 C good number easy version
Posted thesunandsnow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Div3 C good number easy version相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int q, n;
while(cin >> q){
while(q--){
cin >> n;
int m = n;
int i = 0;//i用来计数,计算n需要加多少个1才能变成good number
while(1){
bool flag = true;//flag为true说明m是good number否则不是
while(m > 0){
if(m % 3 == 2){//满足条件说明m不是good number
flag = false;
break;
}
m /= 3;
}//注意while循环结束后m很有可能不是原值
if(flag == true){
cout << n + i << endl;//正因为m不是原值,才输出n + i
break;
}
else{
++i;
m = n + i;
}
}
}
}
}
输入值n一直除3至0,在这个过程中只要n % 3 == 2就说明n不是good number,因为2 == 3^0 + 3^0
以上是关于Div3 C good number easy version的主要内容,如果未能解决你的问题,请参考以下文章
C - The Number Of Good Substrings CodeForces - 1217C
A. Nastia and Nearly Good Numbers1000 / 思维 构造