UVa 10190

称号:给你第一个任期的等比数列和倒数公比,最后一个条目假定1这一系列的输出,否则输出Boring!。

分析:数学。递减的。所以公比的倒数一定要大于1。即m > 1。

            然后在附加一个条件n  > m推断位数是否为1就可以。

说明:这样的卡题意的题目好纠结╮(╯▽╰)╭。

#include <iostream>
#include <cstdlib>
#include <cstdio>

using namespace std;

int data[100];

int main()
{
	long long n,m;
	while (~scanf("%lld%lld",&n,&m)) {
		if (m <= 1 || n < m) {
			printf("Boring!
");
			continue;
		}
		
		int count = 0;
		while (n%m == 0 && n >= m) {
			data[count ++] = n;
			n /= m;
		}
		data[count] = n;
		
		if (data[count] != 1 || count == 0) 
			printf("Boring!
");
		else {
			for (int i = 0 ; i < count ; ++ i)
				printf("%d ",data[i]);
			printf("%d
",data[count]);
		}
	}
	return 0;
}


版权声明:本文博客原创文章。博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/yxwkf/p/4723709.html