Fortune Telling

题目名字 Fortune Telling

题目链接

题意

找出为奇数且最大的那一束花,如果没有输出0,有的话输出花瓣数量

思路

  1. 先判断有没有奇数的花,没有输出0
  2. 有的话计算有奇数个数的花为p个,sort函数使从小到大排列,
  3. 如果p为奇数的话,那就sum将p个数组全部加起来输出
  4. 如果不是,就使第一个最小的奇数花瓣数组a[i]为0,然后sum加起来p个数组输出;

坑点

  1. 题目是找出一朵或好几朵花然后组成一束花,并不是只找出一朵花就行

算法一:

代码
#include<iostream>
#include<algorithm>
using namespace std;
int n,a[101],p=0,ans=0;
//n甘菊的数量,a[105]存每朵花花瓣数
//p是花瓣为奇数的花的个数 
int main(){
   
    cin>>n;
    for(int i=1;i<=n;i++)
    {
   
        cin>>a[i];
        if(a[i]%2!=0) p++;
		//要统计有几朵是奇数个花瓣 
    }
    if(p==0) cout<<0;
	//如果奇数个数为0显然不可能数到爱 
    if(p%2!=0) 
    {
   
        for(int i=1;i<=n;i++)
		{
   
			ans+=a[i];
		}//统计花瓣总数 
        cout<<ans;
    }
    else{
   
        sort(a+1,a+n+1);
        //使数组中的数字呈递增顺序排序 
        for(int i=1;i<=n;i++)
		{
   
			if(a[i]%2!=0)
			{
   
				a[i]=0;
				break;
			}
			//找到第一个奇数值,并将其赋值给p 
		}
		for(int i=1;i<=n;i++)
		{
   
			ans+=a[i];//统计最大花瓣数 
        	cout<<ans;
   		}
   	}
    return 0;
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 22:44:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 22:44:04       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 22:44:04       82 阅读
  4. Python语言-面向对象

    2023-12-17 22:44:04       91 阅读

热门阅读

  1. Linux计划任务

    2023-12-17 22:44:04       44 阅读
  2. Rust做一个图片服务器有多难?

    2023-12-17 22:44:04       56 阅读
  3. 什么是PHP的反射(Reflection)?

    2023-12-17 22:44:04       55 阅读
  4. 如何使用Composer安装第三方库?

    2023-12-17 22:44:04       60 阅读
  5. Linux常见面试题30题详细答案解析(三)

    2023-12-17 22:44:04       48 阅读
  6. CSU21级期末

    2023-12-17 22:44:04       51 阅读