当前位置: 首页 > news >正文

奇因子之和(C语言)

题意:

一个整数的因子,就是所有可以整除这个数的数。奇数指在整数中,不能被 2 整除的数。所谓整数 Z 的奇因子,就是可以整除 Z 的奇数。
给定 N 个正整数,请你求出它们的第二大奇因子的和。当然,如果该数只有一个奇因子,就用它唯一的那个奇因子去求和。

输入格式:

输入第一行给出一个正整数 N(≤1000)。随后一行给出 N 个不超过 106 的正整数。

输出格式:

在一行中输出所有给定整数的第二大奇因子之和。


输入样例:

5
147 12 35 78 4

输出样例:

71

样例解释:

  • 147 的因子有 { 1、3、7、21、49、147 },第二大奇因子是 49;
  • 12 的因子有 { 1、2、3、4、6、12 },第二大奇因子是 1;
  • 35 的因子有 { 1、5、7、35 },第二大奇因子是 7;
  • 78 的因子有 { 1、2、3、6、13、26、39、78 },第二大奇因子是 13;
  • 4 的因子有 { 1、2、4 },只有一个奇因子,所以用 1 参与求和。
    所以输出的答案是:49+1+7+13+1 = 71。

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB


代码如下:

#include <stdio.h>
int test(int a){int cnt=0;while(a%2==0) a/=2;for(int i=1;i*i<=a;i++){if(a%i==0&&(a/i)%2){cnt++;if(2==cnt) return a/i;}	} return 1;}
int main(){int a,n,sum=0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a);sum+=test(a);}printf("sum==%d",sum);return 0;}
http://www.lryc.cn/news/271909.html

相关文章:

  • 简单FTP客户端软件开发——VMware安装Linux虚拟机(命令行版)
  • ArkTS开发实践
  • vue项目中实现预览pdf
  • 【Vulnhub 靶场】【Looz: 1】【简单】【20210802】
  • 计算机基础面试题 |03.精选计算机基础面试题
  • SQL最消耗性能查询错误用法示例
  • Python学习笔记(六)面向对象编程
  • CCNP课程实验-05-Comprehensive_Experiment
  • 第3课 使用FFmpeg获取并播放音频流
  • Java 动态树的实现思路分析
  • 太阳系三体模拟器
  • SQL常见面试题
  • 怎么获取客户端真实IP?GO
  • 山海鲸可视化软件的优势:数据整合、可视化与个性化定制
  • Mybatis行为配置之Ⅰ—缓存
  • 【Java开发岗面试】八股文—计算机网络
  • 【PythonRS】基于矢量范围批量下载遥感瓦片高清数据(天地图、高德、谷歌等)
  • 穷举vs暴搜vs深搜vs回溯vs剪枝
  • Sensor Demosaic IP 手册PG286笔记
  • HarmonyOS —— UIAbility 页面跳转总结
  • Spring Boot 3 集成 Jasypt详解
  • Spring Boot整合 EasyExcel 实现复杂 Excel 表格的导入与导出功能
  • SQLSERVER排查CPU占用高
  • uniapp:富文本回显
  • flink内存配置
  • easyexcel 导出
  • maven命令行安装依赖测试
  • Redis 笔记
  • 可穿戴智能设备应用领域以及使用意义分别有哪些?
  • 【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用