【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;
}

 

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