一道淘汰85%面试者的百度开发者面试题

在CSDN高校俱乐部看到的一道题,题目不难,但是考察基础,这里我做了一些优化,有何不对大家指教。

题目信息:依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。

如下代码只遍历了能被5或3整除的数,当然也包括同时被5和3整除的数。

//依序遍历0到100闭区间内所有的正整数,
//	如果该数字能被3整除,则输出该数字及‘*’标记;
//	如果该数字能被5整除,则输出该数字及‘#’标记;
//	如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。
#include<iostream>
#include<stdio.h>
using namespace std;
//number是否能同时被5和3整除
bool isThreeAndFive(int number){

	if(number%3 ==0 && number%5 == 0){
		cout<<number<<"*# ";
		return true;
	}
	return false;
}
int main(){

	int num3, num5;
	num3 = 3; num5 = 5;
	int i3 = 3;
	int i5 = 5;
	while(num3 < 100 || num5 <= 100){
		bool flag = num3 > num5 ? 1 : 0;
		if(!flag){
			
			if(!isThreeAndFive(num3))
				cout<<num3<<"* ";
			num3 += i3;
		}
		else{
			if(!isThreeAndFive(num5))
				cout<<num5<<"# ";
			num5 += i5;
		}
	}

	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值