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