C++ 中求自然數之和(至 N)且模 K 餘 R
在這個問題中,我們給定三個數字 N、K 和 R。我們的任務是建立一個程式來找到自然數之和(至 N)且模 K 餘 R。
我們將新增所有小於 N 且滿足以下條件的數字,i%K == R。
讓我們舉個例子來理解這個問題,
輸入
N = 14, K = 4, R = 1
輸出
28
解釋 − 所有小於 N 的數字,當除以 4 時餘數為 1 的數字是 1、5、9、13。
為了解決這個問題,我們將從 R 迴圈到 N,並以 K 為增量。這樣,我們將得到滿足給定條件的每個數字。並將它們新增到總和中。
這裡,我們本可以使用正常的迴圈,即以 1 為間隔。但是我們之前已經使用過它,它會消耗更少的時間。
示例
程式說明解決方案,
#include <iostream>
using namespace std;
int CalcSumofRem(int N, int K, int R){
int sum = 0;
for (int i = R; i <= N; i+= K) {
if (i % K == R)
sum += i;
}
return sum;
}
int main(){
int N = 14, K = 4, R = 1;
cout<<"Sum of natural numbers (up to "<<N<<") whose modulo with "<<K<<" yields "<<R<<" is "<<CalcSumofRem(N, K, R);
return 0;
}輸出
Sum of natural numbers (up to 14) whose modulo with 4 yields 1 is 28
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP