1. 程式人生 > >java常見邏輯練習題求 整數 1~100之間的 求出 含有 7 或者7的倍數的數一共有多少 分別是什麼?

java常見邏輯練習題求 整數 1~100之間的 求出 含有 7 或者7的倍數的數一共有多少 分別是什麼?

題目:求 整數 1~100之間的 求出 含有 7 或者7的倍數的數一共有多少 分別是什麼?

拿道題讀題後分析: 第一步 既然要求出數 1~100之間的有 7 或者7的倍數的數一共有多少 ,那麼我們首先要做的就是遍歷1-100之間的所有數,即:

for (int i = 1; i <= 100; i++) {
	
{

這樣1-100之間的所有數即可用i打印出來了

接著分析,我們要求出含有7或者7的倍數,那麼我們可以再把這部分分開成兩部分來實現

第二步

找出含有7的數,即:

			int ge = i%10; //(這步為求個位數是多少)
			int shi = i/10%10;//(這步為求十位數是多少)
			if (ge == 7 | shi == 7) {
					System.out.print(" " + i);
				}

第三步

找出7的倍數,即:

			if (i % 7 == 0) {
				System.out.print(" " + i);
			{

題目還要求我們計算出一共有多少個這樣的數,那麼我們設一個數字去計算他,int sum = 0,每當判斷到有一個數字時我們使其sum++;

將其加上我們最終的結果即:

public class Demo {
	public static void main(String[] args) {
		int sum = 0;		
		for (int i = 1; i <= 100; i++) {
			int ge = i%10;
			int shi = i/10%10;
			if (i == 7) {		//(這部分是我為了顯示美觀,可省略)
				System.out.print("分別為:");//(這部分是我為了顯示美觀,可省略)
			}			//(這部分是我為了顯示美觀,可省略)
			if (i % 7 == 0) {
				sum++;
				System.out.print(" " + i);
			}else {							
				if (ge == 7 | shi == 7) {
					sum++;
					System.out.print(" " + i);
				}
			}
		}
		System.out.println();
		System.out.println("一共有" + sum + "個");
	}
}

控制檯顯示為:

分別為: 7 14 17 21 27 28 35 37 42 47 49 56 57 63 67 70 71 72 73 74 75 76 77 78 79 84 87 91 97 98
一共有30個