【2星难度】C++程序设计:找7与找12(经典问题)

【问题描述】

找7:输入正整数n,编程输出1~n之间所有含有数字7或7的倍数的数(如:17、28、71等)。

找12:输入正整数n,编程输出1~n之间所有含有数字12或12的倍数的数(如:12、24、121等)。

 

【输入形式】

输入正整数n

 

【输出形式】

从小到大输出所有的符合条件的数,数字和数字之间使用空格分隔。

 

找7:

#include <iostream>
using namespace std;
bool contains(int i,int t) {
	while(i>0) {
		if(i%10==t)
			return true;
		i/=10;
	}
	return false;
}
int main() {
	int n=0;
	cin>>n;
	int i=0;
	for(i=1; i<=n; i++) {
		if(i%7==0||contains(i,7))
			cout<<i<<" ";
	}
	return 0;
}

 

找12:

#include <iostream>
using namespace std;
int main() {
	int n,x=0,p,i;
	cin>>n;
	for(i=1; i<=n; i++) {
		x=0;
		p=i;
		while (p>=10) {
			if(p%100==12) {
				x=1;
			}
			p=p/10;
		}
		if(i%12==0||x==1)
			cout<<i<<" ";
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章