首页 > 其他分享 >打卡15

打卡15

时间:2023-04-28 11:57:52浏览次数:36  
标签:15 int sum 因子 return 打卡 zs

3.2亲密数

 思路很简单,先遍历1-3000,把因子算一下,加一下,然后再算和的质因数和,看是否相等即可,时间复杂度不是很高

 流程也很简单

#include<bits/stdc++.h>
using namespace std;

int f(int x)//求一个数的因子和
{
int sum=0;
for(int i=1;i<=x/2;i++)
{
if(x%i==0)sum+=i;
}
return sum;
}

int main()
{
for(int i=1;i<3000;i++)
{
int sum=f(i);//i的因子和
int zs=f(sum);//sum的因子和
if(zs==i&&i<sum)
{
cout<<i<<' '<<sum<<endl;
}
}
return 0;
}

标签:15,int,sum,因子,return,打卡,zs
From: https://www.cnblogs.com/litianyu1969/p/17361697.html

相关文章

  • c++打卡练习(19)
    1.问题描述相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8x8共64格的象棋棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第1格中放1粒,第2格放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上64格,我......
  • 【二分查找】LeetCode 153. 寻找旋转排序数组中的最小值
    题目链接153.寻找旋转排序数组中的最小值思路首先分析一下旋转数组可能有的状态:左<中<右,此时最小值肯定在左边,应当收缩右边界左<中,中>右,此时最小值肯定在右半段,应当收缩左边界左>中,中<右,此时最小值肯定在左半段,应当收缩右边界分析这三种状态可以发现,中值小......
  • 打卡 C++类与对象定义一个日期类 N天以后 - C/C++ 操作符重载
    改造练习13-1(日复一日)中的Date类并提交,使其可以与一个整数n相加或相减,得到该日期N天后/前的日期。提示:请参考题目(日复一日)中的Date类实现;注意考虑闰月;整数n的取值范围为[1,10000]。裁判测试程序样例: #include<iostream>#include<string>#include<assert.h>usingn......
  • 第十二天打卡
    问题: 算法设计:根据问题可以计算出每个颜色球的取值范围红球为M<3,白球为N<3,黑球为8-M-N<6流程图: 源代码:#include<stdio.h>intmain(){ intm,n,number=0; for(m=0;m<=3;m++) for(n=0;n<=3;n++) if(8-m-n<=6) printf("%2d:%d%d%d\n",++number,m,n,8-m-n); return0;......
  • 第十一天打卡
    一、问题描述编写一个计算个人所得税的程序,要求输入收入金额后,能够输出应缴的个人所得税。二、设计思路1.利用结构体记录不同起始征税点、结束点和税率;2.利用函数计算各个阶段的税;3.输出结果。三、四、代码实现 ......
  • 打卡10
    位反序数设N是一个四位数,它的9倍恰好是其反序数,求N。反序数就是将整数的数字倒过来形成的整数。例如:1234的反序数是4321。#include<stdio.h>intmain(){ inti; for(i=1002;i<1111;i++)/*穷举四位数可能的值*/ if(i%10*1000+i/10%10*100+i/100%10*10+i/1000==i*9)/*判断反序数......
  • 打卡11
    一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问该车的速度是多少?新的对称数是多少?#include<stdio.h>intmain(){ intt,a[5];/*数组a存放分解的数字位*......
  • 每日打卡-15
    一.问题描述该铁路经过N个城市,每个城市都有一个站。不过,由于各个城市之间不能协调好,于是乘车每经过两个相邻的城市之间(方向不限),必须单独购买这一小段的车票。第i段铁路连接了城市i和城市i+1(1<=i<N)。如果搭乘的比较远,需要购买多张车票。第i段铁路购买纸质单程票需要Ai博艾元。虽......
  • 打卡
    #include<iostream>#include<string>usingnamespacestd;intmain(){stringa[10]={"ling","yi","er","san","si","wu","liu","qi","ba",&qu......
  • 每日打卡
    卖金鱼问题问题描述:小明养了一缸金鱼要分五次卖,第一次卖全部的一半加二分之一条,第二次卖剩下的三分之一又三分之一条,第三次卖剩下的四分之一加四分之一条,第四次卖剩下的五分之一加五分之一条,第五次卖剩下的11条。问题分析:根据规律可得有x条鱼第n次卖x-(x+1)/(j+1)代码:#include<......