码迷,mamicode.com
首页 > 其他好文 > 详细

Div3 C good number easy version

时间:2019-10-28 00:35:07      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:cin   cout   bool   否则   contest   ++i   main   计算   break   

good numbers 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

标签:cin   cout   bool   否则   contest   ++i   main   计算   break   

原文地址:https://www.cnblogs.com/theSunAndSnow/p/11749788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!