返回题解分享
讨论 / 题解分享/ 帖子详情

好数(编程题) - 题解

笨蛋解法

#include<iostream>
using namespace std;
int main() {
	int N;
	int number = 0;
	cin >> N;
	for (int k = 1; k <=N; k++) 
	{
		if (k % 2) 
		{
			if (k >= 1 && k <= 9) {
				number++;
			}
			if (k / 10 >= 1 && k / 10 <= 9) {
				int ten = k / 10;
				int temp = ten % 2;
				if (!temp) {
					number++;
				}
			}
			if (k / 100 >= 1 && k / 100 <= 9) {
				int hunder = k / 100;
				int ten = (k / 10)%10;
				int temp = ten % 2;
				if (hunder % 2) {
					if (!temp) {
						number++;
					}
				}
			}
			if (k / 1000 >= 1 && k / 1000 <= 9) {
				int t = k/ 1000;
				int hunder = (k / 100) % 10;
				int ten = (k / 10) % 10;
				if (t % 2 == 0) {
					if (hunder % 2) {
						if (ten % 2 == 0) {
							number++;
						}
					}
				}
			}
			if (k / 10000 >= 1 && k / 10000 <= 9) {
				int wan = k / 10000;
				int t = (k / 1000) % 10;
				int hunder = (k / 100) % 10;
				int ten = (k / 10) % 10;
				if (wan % 2) {
					if (t % 2 == 0) {
						if (hunder % 2) {
							if (ten % 2 == 0) {
								number++;
							}
						}
					}
				}

			}
			if (k / 100000 >= 1 && k / 100000 <= 9) {
				int tenwan = k / 100000;
				int wan = (k / 10000)%10;
				int t = (k / 1000) % 10;
				int hunder = (k / 100) % 10;
				int ten = (k / 10) % 10;
				if (tenwan % 2 == 0) {
					if (wan % 2) {
						if (t % 2 == 0) {
							if (hunder % 2) {
								if (ten % 2 == 0) {
									number++;
								}
							}
						}
					}
				}
				

			}
			if (k / 1000000 >= 1 && k / 1000000 <= 9) {
				int hwan = k / 1000000;
				int tenwan = (k / 100000) % 10;
				int wan = (k / 10000) % 10;
				int t = (k / 1000) % 10;
				int hunder = (k / 100) % 10;
				int ten = (k / 10) % 10;
				if (hwan % 2) {
					if (tenwan % 2 == 0) {
						if (wan % 2) {
							if (t % 2 == 0) {
								if (hunder % 2) {
									if (ten % 2 == 0) {
										number++;
									}
								}
							}
						}
					}
				}
			}
			
			if (k / 10000000 >= 1 && k / 10000000 <= 9) {
				int twan = k / 10000000;
				int hwan = (k / 1000000)%10;
				int tenwan = (k / 100000) % 10;
				int wan = (k / 10000) % 10;
				int t = (k / 1000) % 10;
				int hunder = (k / 100) % 10;
				int ten = (k / 10) % 10;
				if (twan % 2 == 0) {
					if (hwan % 2) {
						if (tenwan % 2 == 0) {
							if (wan % 2) {
								if (t % 2 == 0) {
									if (hunder % 2) {
										if (ten % 2 == 0) {
											number++;
										}
									}
								}
							}
						}
					}
				}
				
			}
		}
	}
	cout << number;
	return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!