非常好友(C++)

Bessie和其他的所有奶牛的耳朵上都戴有一個射頻識別(RFID)序列號碼牌。因此農夫John可以機械化地計算他們的數量。很多奶牛都有一個“牛友”。如果奶牛A的序列號的約數之和剛好等于奶牛B的序列號,那么A的牛友就是B。在這里,一個數的“約數”不包括這個數本身。
因為一些奶牛的號碼約數和大于其他任何奶牛的號碼,所以這些奶牛沒有牛友。而一些奶牛有一個“非常好友”,當兩個奶牛互為“牛友”時,他們就是一對“非常好友”。注意在這道題中,忽略那些自己是自己的“非常好友”的情況。
給定一個序列號S (6≤S≤18,000),找到序列號不小于S的第一個有“非常好友”的奶牛。
比如說,考慮序列號220,它的約數是1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 和110,和是284。類似的,284的約數是1, 2, 4, 71, 和142,他們的和是220。因此220和284是一對非常好友。

輸入描述 Input Description
第1行: 一個單獨的整數S,即給定的序列號。
輸出描述 Output Description
第1行:2個整數A和B,用一個空格隔開。A表示第一個序列號不小于S的有非常好友的奶牛的序列號,B是他的“非常好友”的序列號。

樣例輸入 Sample Input
206
樣例輸出 Sample Output
220 284

思路:首先輸入的第一個數為n,也就是從n到18000這些數之間開始找,哪倆個數的所有約數之和能互為對方。我是在while里面開始對這n到18000之間的這些數進行遍歷的,每次對n這個數的所有約數求和為sum,然后在對sum的所有約數進行求和看看可否反推得出n,若可以則結束即可;否則n++進行下一個數的判斷。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;int main()
{int n;int sum=0,sum1=0;scanf("%d",&n);while(n<=18000){int sum=0,sum1=0;#每對一個數進行約數求和的時候需要重新將存儲的變量清空!!!for(int i=1;i<=n-1;i++){if(n%i==0){sum=sum+i;}}for(int i=1;i<=sum-1;i++){if(sum%i==0){sum1=sum1+i;}}if(sum1==n){printf("%d %d",sum1,sum);return 0;}else{n++;}}return 0;
}

結果如下:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378641.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378641.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378641.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智能車復工日記【2】——普通PID、變結構PID、微分先行PID、模糊PID、專家PID

博主聯系方式: QQ:1540984562 QQ交流群:892023501 群里會有往屆的smarters和電賽選手,群里也會不時分享一些有用的資料,有問題可以在群里多問問。 目錄 系列文章前言普通PID舵機參數:電機參數:變結構PI控制(電機控制,這里對公式進行修改采用正態分布公式)微分先行PID(…

爬動的蠕蟲(C++)

問題描述&#xff1a; 一條蟲子在n英寸深的井底&#xff0c;每次一分鐘爬行u英寸&#xff0c;但是它再次爬行前必須先休息1分鐘&#xff0c;在休息過程中它將滑落d英寸&#xff0c;在反復向上爬行和休息后&#xff0c;多長時間蟲子能爬出這口井&#xff1f;在此過程中&#xf…

使用快捷鍵,快到極致

前段時間曾經寫過一篇文章&#xff0c;《優秀程序員無他-善假于物也》。其中談到一點是優秀的程序員必須要能靈活的掌握常用軟件的快捷鍵。對于程序員來說&#xff0c;每天使用時間最長的軟件恐怕就是IDE&#xff08;Integrated Development Environment&#xff09;了。如果你…

java反射對象賦值_Java反射詳解

反射(Reflection)能夠讓運行于 JVM 中的程序檢測和修改運行時的行為。Class類提供了以下方法四個public方法&#xff0c;用于獲取某個類的構造方法&#xff1a;Constructor getConstructor(Class[] params)// 根據構造函數的參數&#xff0c;返回一個具體的具有public屬性的構造…

Oracle裝置后果

來歷&#xff1a;網海拾貝 本日未來誥日裝置Oracle后&#xff0c;出現了兩個后果。 經過過程SQL Plus不竭無法連接長途數據庫&#xff0c;提醒錯誤ORA-12514:TNS:監聽過程不能解析在連接描繪符中給出的SERVICE_NAME。 厥后締造用可視化的Net Configuration Assistant東西對監聽…

Java Hashtable hashCode()方法及示例

Hashtable類hashCode()方法 (Hashtable Class hashCode() method) hashCode() method is available in java.util package. hashCode()方法在java.util包中可用。 hashCode() method is used to return the hash code value for this object in this Hashtable. hashCode()方法…

C---蟬、蜻蜓、蜘蛛

【問題描述】 已知 腿/條翅膀/對蟬61蜻蜓62蜘蛛80 現有小蟲n只&#xff0c;共有X條腿和Y對翅膀&#xff0c;問蟬、蜻蜓、蜘蛛各有多少只&#xff1f;請使用循環的知識解決&#xff0c;數據確保有解。 【輸入形式】三個用空格隔開的整數&#xff0c;依次為n、X、Y 【輸出形式】…

輪廓(查找和繪制輪廓、輪廓的表達與組織、輪廓的特性)

目錄1、輪廓的定義2、如何在圖像中找到輪廓opencv自帶的查找輪廓函數:findContours()3、輪廓的表達方式1.頂點的序列2.Freeman鏈碼4、輪廓之間的組織方式5、輪廓的特點&#xff08;這部分可以展開來詳細探討&#xff0c;這里不做過多解釋&#xff09;6、輪廓的匹配7、繪制輪廓d…

python如何操作oracle數據庫_python操作oracle數據庫

搜索熱詞下面是編程之家 jb51.cc 通過網絡收集整理的代碼片段。編程之家小編現在分享給大家&#xff0c;也給大家做個參考。# -*- mode: python; coding: utf-8 -*-## python operate oracle,contain insert、delete、update、select.## author liyulin# date 2014-11-07import…

可能用得上的jquery 插件

Chosen (github) 是一個強大的增強下拉選擇框的插件&#xff0c;支持自定義css樣式。同時你可以使用ajax增加一些回調函數&#xff0c;插件會給hidden input復制&#xff0c;這樣你可以在提交表單的時候獲得正確的值。 Turn.js 是一個 JavaScript 庫&#xff0c;使您的網頁內容…

草根創業回憶錄二: 都選擇的是什么人?

草根創業回憶錄二: 都選擇的是什么人&#xff1f; 前言&#xff1a;選合伙人和投資就像在選女朋友一樣&#xff0c;要謹慎&#xff0c;甚至有時候寧缺毋濫。 曾經以為有了錢&#xff0c;就會找到需要的人&#xff0c;后來發現不是這樣的。 也以為&#xff0c;隨便拉幾個關系好的…

float.equals_Java Float類equals()方法與示例

float.equals浮動類equals()方法 (Float class equals() method) equals() method is available in java.lang package. equals()方法在java.lang包中可用。 equals() method is used to check equality or inequality of this Object against the given Object or in other wo…

01-基本配置與測試

一、開發環境 使用的是Anaconda 3&#xff0c;其中Python版本為3.6.3 首先&#xff0c;在Anaconda下的Scripts文件夾下打開命令框 使用pip install -U selenium安裝selenium 打開Jupiter Notebook&#xff0c;輸入from selenium import webdriver進行測試 不報錯即安裝成功 …

Opencv——查找并繪制凸包、凸包與輪廓的關系

定義 給定二維平面上的點集&#xff0c;凸包就是將最外層的點連接起來構成的凸多邊型。 理解物體形狀或輪廓的一 種比較有用的方法便是計算一個物體的凸包&#xff0c;然后計算其凸缺陷(convexity defects)。 檢測凸包 opencv自帶函數&#xff1a;convexHull() 參數解釋&a…

EF Code First 簡單的示例

一對多&#xff1a; public class Category {public Category(){Id GuidComb.GenerateComb();}public Guid Id { get; set; }public string Name { get; set; }public string Description { get; set; }public virtual IList<Topic> Topics { get; set; } }public class…

線程同步 - 整理

線程同步機制為線程協同工作而設計&#xff0c;windows系統中有多種機制可以用于線程同步&#xff0c;最常用的有下面幾種&#xff1a; 互斥對象(Mutex)時間對象(Event)信號量(Semaphore)臨界區(critical section)可等待計時器(waitable Timer)同步過程中兩個重要的概念是同步對…

智能車復工日記【N】:圖像處理——環島debug記錄(持續更新)

博主聯系方式: QQ:1540984562 QQ交流群:892023501 群里會有往屆的smarters和電賽選手,群里也會不時分享一些有用的資料,有問題可以在群里多問問。 Debug記錄 代碼以及思路整理:系列文章4.10號更新5.4號更新5.5號更新代碼以及思路整理: 【智能車Code review】——環島的判…

java接口并發衡量_java 后端設計高并發接口總結

如何設置高并發接口一、并發隊列的選擇二、請求接口的合理設計三、高并發下的數據安全3.1 超發的原因3.2 悲觀鎖思路3.3 FIFO隊列思路3.4 樂觀鎖思路一、并發隊列的選擇Java的并發包提供了三個常用的并發隊列實現&#xff0c;分別是&#xff1a;ArrayBlockingQueue、Concurrent…

兩倍---C++

【問題描述】給定n個不同的正整數&#xff0c;你的任務是計算這些數里面有多少個數對滿足&#xff1a;數對中一個數是另一個數的兩倍&#xff0c;比如給定1 4 3 2 9 7 18 22&#xff0c;得到的答案是3&#xff0c;因為2是1的兩倍&#xff0c;4是2的兩倍&#xff0c;18是9的兩倍…

java bitset_Java BitSet cardinality()方法與示例

java bitsetBitSet類cardinality()方法 (BitSet Class cardinality() method) cardinality() method is available in java.util package. cardinality()方法在java.util包中可用。 cardinality() method is used to return the cardinality (i.e. the number of bits is set t…