首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

阿基米德特性:最小整數M使得a×M > b的數學計算與代碼實現

     編輯:關於C語言

問題描述

給定 0 < a < b,求最小正整數 M 使得 a×M > b。輸入 a b,輸出 M。

數學推導

a×M > b ⇔ M > b/a

因 M 為整數,M = ⌊b/a⌋ + 1

整數除法自動向下取整,直接計算 b/a + 1 即可。

代碼實現

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", b/a + 1);
    return 0;
}

驗證樣例

輸入: 2 9
輸出: 5

9/2 = 4(整數除法),4+1=5。驗證:2×4=8≤9,2×5=10>9。正確。

邊界情況

  • a=1, b=2 → 2/1+1=3,1×3=3>2 ✓
  • a=3, b=10 → 10/3+1=3+1=4,3×4=12>10 ✓
  • a 能整除 b 時:a=2, b=8 → 8/2+1=5,2×5=10>8 ✓(注意不是 4,因 2×4=8 不大於 8)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved