计算余数C++

题目:


 代码:
 

#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    double a, b;
 
    cin >> a >> b;
 
    assert(a> 0 && b > 0);
 
    int k = (int)(a/b);
    double r = a - k*b;
 
    cout << setiosflags(ios::fixed);
    cout << setprecision(2) << r << endl;
 
    return 0;
}

C++里,取余数运算符为`%`,主要用于整数之间的取余操作。下面结合不同情况介绍取余数计算方法: ### 整数取余 整数取余是最常见的情况,使用`%`运算符即可。示例代码如下: ```cpp #include <iostream> using namespace std; int main() { int dividend = 10; int divisor = 3; int remainder = dividend % divisor; cout << "10 除以 3 的余数是: " << remainder << endl; return 0; } ``` 在上述代码中,`dividend % divisor`计算出`dividend`除以`divisor`的余数。 ### 余数与0比较 在比较余数运算的结果时,最好与0进行比较,因为0没有正数/负数问题。例如判断一个数是否为奇数: ```cpp bool isOdd(int x) { return (x % 2) != 0; } ``` 此函数通过判断`x`除以2的余数是否不为0,来确定`x`是否为奇数 [^1]。 ### 浮点数取余 C++中`%`运算符不能直接用于浮点数。若要计算浮点数相除的余数,可通过以下方式实现: ```cpp #include <iostream> #include <iomanip> using namespace std; int main() { double a, b, c, e; int d; cin >> a >> b; c = a / b; d = (int)c; e = a - b * d; cout << fixed << setprecision(4) << e << endl; return 0; } ``` 上述代码先将`a`除以`b`的结果转换为整数`d`,再用`a - b * d`计算余数 [^4]。 ### 质数判断中的取余应用 在判断一个数是否为质数时,可利用取余操作。若一个数除了1和它本身外,不能被其他数整除,则该数为质数。示例代码如下: ```cpp #include <iostream> using namespace std; int main() { int n, f = 1; cin >> n; for (int i = 2; i < n; i++) { if (n % i == 0) { f = 0; break; } } if (f == 1) { cout << "是质数" << endl; } else { cout << "是合数" << endl; } return 0; } ``` 在上述代码中,通过`n % i == 0`判断`n`能否被`i`整除,进而判断`n`是否为质数 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值