洛谷 P1851 好朋友
生活随笔
收集整理的這篇文章主要介紹了
洛谷 P1851 好朋友
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目背景
小可可和所有其他同學的手腕上都戴有一個射頻識別序列號碼牌,這樣老師就可以方便的計算出他們的人數。很多同學都有一個“好朋友” 。如果 A 的序列號的約數之和恰好等于B 的序列號,那么 A的好朋友就是 B。在這里,一個數的約數不包括這個數本身。因為一些同學的號碼約數和大于其他任何同學的號碼,所以這些同學沒有好朋友。一些同學有一個“非常好友” 。當兩個同學互為“好朋友”時,他們就是一對“非常好友” 。注意在這道題中,忽略那些自己是自己的“非常好友”的情況。
題目描述
給定一個序列號 S(6≤S≤18000) ,找出序列號不小于 S 的第一對“非常好友” 。
輸入輸出格式
輸入格式:
一行一個整數S,即給定的序列號。
?
輸出格式:
一行兩個整數A 和 B(用空格隔開) 。A 表示第一個序列號不小于 S 的有“非常好友”的同學,B 是 A 的“非常好友” 。
?
輸入輸出樣例
輸入樣例#1:206 輸出樣例#1: 220 284
?
感想
距離高考73天時,忙里偷閑做上一題入門級別的模擬,結果兩次才AC,原因見題面加黑部分……而且我這次才知道,一個數的約數包括1……長見識了。
解題思路
按題意模擬即可
從洛谷討論里得知這種數對名叫親和數,掛一個百度到的介紹親和數比較詳細的鏈接,侵刪
源代碼
#include<stdio.h>int s;int f(int a)//求一個數的“好朋友” {int sum=0;for(int i=1;i<a;i++){if(a%i==0) sum+=i;}return sum; }int main() {scanf("%d",&s);for(int i=s;;i++){int j=f(i),k=f(j);if(k==i&&i!=j){printf("%d %d",i,j);return 0;}}return 0; }?
轉載于:https://www.cnblogs.com/wawcac-blog/p/8646688.html
總結
以上是生活随笔為你收集整理的洛谷 P1851 好朋友的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 捷捷微电投资价值 请找准目标
- 下一篇: 小学四则运算练习软件项目报告