基于visual Studio2013解决C语言竞赛题之1057打印加数
题目
解决代码及点评
/*
功能: 已知N是正整数, 它可拆写成三个正整数N1、N2和N3之和的形式N=N1+N2+N3。
请编程序打印出满足上式的全部组合,并当N1、N2和N3中至少有两个是素数时打印“YES”否则打印“NO”。
如N=5时输出:
5 = 1 + 1 + 3 NO
5 = 1 + 2 + 2 YES
5 = 1 + 3 + 1 NO
5 = 2 + 1 + 2 YES
5 = 2 + 2 + 1 YES
5 = 3 + 1 + 1 NO 时间:2:12 2013/10/25
*/ #include<stdio.h>
#include<stdlib.h>
#include <math.h> int judePri(int); //判断一个数是否为素数 void main()
{
int N;
scanf_s("%d",&N); for(int i=1;i<N;i++)
{
for(int j=1;j<=N;j++)
{
int k=N-i-j;
if(i+j+k==N && k>0) //找到满足条件的i,j,k
{
int sum=judePri(i)+judePri(j)+judePri(k); //sum保存素数的个数
printf("%d + %d + %d = %d\t",i,j,k,N); //打印结果
if(sum>=2) //判断素数个数是否大于等于2
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
}
}
system("pause");
} int judePri(int n)
{
if(n==1)
{
return 0;
}
else if (n==2||n==3)
{
return 1;
}
else
{
for(int i=2;i<=(int)sqrt((double)n);i++)
{
if(n%i==0)
return 0;
}
}
return 1;
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn
基于visual Studio2013解决C语言竞赛题之1057打印加数的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之0603打印素数
题目
- 基于visual Studio2013解决C语言竞赛题之0808打印链表
题目
- 基于visual Studio2013解决C语言竞赛题之1048打印矩阵
题目 解决代码及点评 /* 48. 找规律填写N×N方阵.如N=8时, 其方阵为: */ #include <stdio.h> #include <stdlib.h& ...
- 基于visual Studio2013解决C语言竞赛题之1045打印成绩
题目 解决代码及点评 /* 功能:用记录来描述一个学生的成绩情况,内容包括:姓名.学号.数学成绩和PASCAL成绩. 要求对一个小组的10个学生的成绩进行统计处理: 1)计算学生的总 ...
- 基于visual Studio2013解决C语言竞赛题之1058打印数字
题目 解决代码及点评 /************************************************************************/ /* 58 ...
- 基于visual Studio2013解决C语言竞赛题之1078打印日历
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之1071打印工资
题目 解决代码及点评 /************************************************************************/ /* ...
- 基于visual Studio2013解决C语言竞赛题之0523魔方阵
题目
- 基于visual Studio2013解决C语言竞赛题之0518回文数
题目
随机推荐
- git 使用过程(三、文件的添加 修改)
1.库中添加文件 在目录下新建一个文件 如 testfile.txt .输入命令:① git add testfile.txt ②git commit -m "这里是你提交的说明" ...
- 10994 - Simple Addition(规律)
Problem E Simple Addition Input: Standard Input Output: Standard Output Let’s define a simple recurs ...
- perl 执行mysql select 返回多条记录
[root@dr-mysql01 sbin]# cat t1.pl use DBI; my $dbUser='DEVOPS'; my $user="root"; my $passw ...
- 常见makefile写法
原文地址:blog.csdn.net/ghostyu/article/details/7755177 1.目标名称,摆脱手动设置目标名称 TARGET = $(notdir $(CURDIR)) al ...
- 在 vb中 "end","unload me","exit sub" 之间的区别
之前就想过这个问题,这么熟悉的几个东西居然对他们分析的不是很透彻. “End” 跟 “Unload Me” 在敲程序 的时候经常敲到,“exit sub” 更是熟悉,下面,解析: End ...
- android平板Home键的监听
关于android4.2平板Home键的监听 1.android4.0以上的平板Home键是不能屏蔽的,至少在应用层是这样.但是可以监听Home键的触发,主要是通过广播的监听来接受Hone键的触发广播 ...
- XML 的实体引用
实体引用 在 XML 中,一些字符拥有特殊的意义. 如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始. 这样会产生 XML 错误: ...
- 从C到C++,C语言与C++的关系
C语言是1972年由美国贝尔实验室的D.M.Ritchie研制成功的.它不是为初学者设计的,而是为计算机专业人员设计的.大多数系统软件和许多应用软件都是用C语言编写的.但是随着软件规模的增大,用C语言 ...
- Qt序列化格式分析(qint,QString)(非常简单好用)
最近项目需要进行QT开发环境下对传输对象进行序列化与反序列化处理,对基本类型的处理在使用QT默认的序列化方式还是完全手工序列化这两种方式之间有些犹疑不定,边想了解下QT默认序列化基本类型的格式,项目中 ...
- java操作Excel处理数字类型的精度损失问题验证
java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版 ...