标签:cin cout bool 否则 contest ++i main 计算 break
#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
标签:cin cout bool 否则 contest ++i main 计算 break
原文地址:https://www.cnblogs.com/theSunAndSnow/p/11749788.html