玫瑰花编程
㈠ c++编程算所有的玫瑰花数,求高手代码改正。给我的答案要是代码的
C++ 中有 ^ 这个运算符吗?
下面为我写的代码,用i, j, k, l 分别表示千位、百位、十位、个位上的数字:
#include <iostream>
#include <cstdlib>
using namespace std;
inline int pow4(int i)
{
return i*i*i*i;
}
int main()
{
for (int i=1; i<10; i++)
for (int j=0; j<10; j++)
for (int k=0; k<10; k++)
for (int l=0; l<10; l++)
if (pow4(i)+pow4(j)+pow4(k)+pow4(l)== i*1000+j*100+k*10+l) {
cout<<i<<j<<k<<l<<"\t";
}
return 0;
}
运行结果为1634 8208 9474
㈡ 求易语言全屏玫瑰花源码,谢谢。
图片自己找,
.版本 2
.支持库 EdirectX
.程序集 窗口程序集1
.程序集变量 屏幕, 屏幕
.子程序 __启动窗口_创建完毕
边框 = 0
屏幕.创建全屏模式 (取窗口句柄 (), 屏幕.取宽度 (), 屏幕.取高度 (), 32, 真)
屏幕.填充 (#黑色)
屏幕.载入位图 (“D:\用户目录\Documents\Pictures\图片\20071123174956940_2.jpg”) ' 这个巧衡是图片地址
————————————————————————————————————————————————————
易语言程序交流,为中文编程贡献自己的一份力量!
http://..com/team/view/易语言程序交流
这个是我的团卜郑队,需要的话可以孝弊做加入!
㈢ c语言中什么是玫瑰花数
c语言中的玫瑰花数是指一个四位数弊扒辩等于它的各数位上的数字的四次方和。
c语言介绍;C语言是一门通用计算机编程语言,应用广泛此配,C语言的租缺设计目标是提供一种能以简易的方式编译,产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
㈣ c璇瑷鐜鐟拌姳绋嫔簭
```htmlC璇瑷缁桦埗鐜鐟拌姳锲炬堢殑绠瑕佹傝堪
瑕佸垱寤轰竴涓狢璇瑷绋嫔簭锛岀敤浜庣粯鍒朵竴涓缇庝附镄勭帿鐟拌姳锲炬堬纴鎴戜滑闇瑕佷竴浜涘熀链镄勬暟瀛﹀嚱鏁板拰鐭╅樀镎崭綔銆备互涓嬫槸绋嫔簭镄勫叧阌閮ㄥ垎锛屽寘𨰾镞嬭浆鐭╅樀銆佸悜閲忔搷浣滃拰鍏夌収妯″瀷锛
mat3 rotationXY(float x, float y) {
vec2 c, s = {sin(x), sin(y)};
mat3 m = {
c.y, 0.0f, -s.y,
s.y * s.x, c.x, c.y * s.x,
s.y * c.x, -s.x, c.y * c.x
};
return m;
}
鎺ョ潃鏄鐢ㄤ簬鎻忕粯鑺辩摚杈圭紭镄勫嚱鏁瘿sdPetal`鍜屾椠灏勫嚱鏁瘿map`锛屼互鍙婅$畻姊搴︾殑`gradient`鍑芥暟锛屽畠浠鍦ㄧ粯鍒惰繃绋嬩腑璧峰埌鍏抽敭浣灭敤锛
涓轰简鐢熸垚鐜鐟拌姳镄3D鏁堟灉锛屾垜浠杩橀渶瑕佽$畻鍏夌嚎鏂瑰悜锛坄ray_dir`锛夊拰镀忕礌鍏夌収锛坄f`锛夛纴链钖庡湪涓诲嚱鏁瘿main`涓灏呜繖浜涚粍浠剁粨钖堣捣𨱒ョ敓鎴愬浘镀忥细
vec3 ray_dir(float fov, vec2 pos) {
vec3 r = {pos.x, pos.y, -tan((90.0 - fov * 0.5) * DEG_TO_RAD)};
return normalize3(r);
}
float f(vec2 fragCoord) {
vec3 dir = ray_dir(45.0, fragCoord);
vec3 eye = {0.0f, 0.0f, 4.5f};
dir = mul(rotationXY(angle, pitch), dir);
eye = mul(rotationXY(angle, pitch), eye);
float depth = ray_marching(eye, dir, 0.0, clip_far);
if (depth >= clip_far) return 0.0f;
return shading(pos, gradient(pos), eye);
}
int main() {
for (int y = 0; y < 80; y++) {
for (int x = 0; x < 160; x++) {
char pixel = " .,-:;+=*#@"[(int)(f(make2((x / 160.0 - 0.5) * 2.0f, (y / 80.0 - 0.5f) * -2.0f)) * 12.0f)];
printf("%c", pixel);
}
printf("
");
}
}
杩欎釜C璇瑷绋嫔簭阃氲繃宸у欑殑鐭╅樀鍙樻崲鍜屽厜镦ц$畻锛屾瀯寤哄嚭涓涓缁呜吇镄勭帿鐟拌姳锲炬堬纴灏嗘暟瀛︿箣缇庝笌缂栫▼镩烘湳瀹岀编铻嶅悎銆傛疮涓镀忕礌镄勭敓鎴愰兘渚濊禆浜庡嶆潅镄勫悜閲忓拰鐭╅樀杩愮畻锛屽𪾢绀轰简绋嫔簭锻桦瑰嚑浣曞拰鍏夌収镄勭悊瑙c傚湪瀹为檯缂栫▼涓锛屼綘鍙浠ユ牴鎹闇瑕佽皟鏁村弬鏁板拰鍑芥暟缁呜妭锛屼互鍒涘缓鍑烘洿澶氩彉鍖栫殑鐜鐟拌姳鏁堟灉銆
㈤ 浣跨敤MATLAB缁桦埗鐜鐟拌姳鍙婄帿鐟拌姳鐞
鍦∕ATLAB涓缁桦埗镫鍏烽瓍锷涚殑鐜鐟拌姳涓庣帿鐟拌姳鐞冭压链
璁╂垜浠阃氲繃MATLAB镄勭粏鑵荤紪绋嬶纴鎺㈢储濡备綍缁桦埗鍑哄疀濡傝疭鐢昏埇镄勭帿鐟拌姳锲炬埚拰鐜鐟拌姳鐞冦傞栧厛锛屽熀纭镄勭帿鐟拌姳缁桦埗浠g爜濡备笅:
function drawRoses(...) % 鐪佺暐缁呜妭...
鎺ョ潃锛屼负鑺辩殑镩插僵娣诲姞镟村氩眰娆:
function colorRose(...) % 鐪佺暐缁呜妭...
map = [0.9176 0.9412 1.0000; 0.3059 0.4000 0.9333; ...]; % 棰滆壊鏄犲皠...
𨱍宠╄姳链垫洿链変釜镐э纴涓嶅Θ灏濊瘯链埚h姳鐗堟湰:
function drawRosaCultura(...) % 鐪佺暐缁呜妭...
镞嬭浆镄勯瓍锷涘湪浜庡姩镐佺编镒燂纴𨱒ョ湅鐪嫔备綍阃氲繃浠g爜瀹炵幇鑺辩殑涓夌淮镞嬭浆:
[x, t] = ...; p = ...; change = ...; u = ...; y = ...; r = ...; h = ...; map = ...; Xi = ...; Xq = ...; map = ...; set(gca, 'CameraPosition', [2 2 2]) ...;
sf = surface(r .* cos(t), r .* sin(t), h, ...);
colormap(map)
while 1
theta = theta + 0.02;
set(sf, 'XData', ..., 'YData', ...) % 阃氲繃鍧愭爣鍙樻崲瀹炵幇锷ㄦ佹棆杞
pause(0.01)
end
钥岃壊褰╃殑杩愮敤涔熶笉瀹瑰拷瑙嗭纴阃氲繃璋冩暣杈圭紭阃忔槑搴︼纸濡0.05锛夋潵澧炲己瑙呜夋晥鏋:
- 闱炴棆杞: surface(..., 'EdgeAlpha', 0.05, 'EdgeColor', [0 0 0], 'FaceColor', 'interp', 'CData', map)
- 镞嬭浆: sf = surface(Xset, Yset, h, 'EdgeAlpha', 0.05, ...)
姣忎釜鑺辨湹閮藉儚鍦ㄦe崄浜岄溃浣撶殑钖勪釜闱涓婄咯缈╄捣鑸烇纴阃氲繃绮惧绩璁捐$殑鍧愭爣鍙樻崲鍜屾棆杞锛屽𪾢鐜板嚭鐜颁唬镩烘湳镄勭编镒熴傚湪MATLAB涓锛屾垜浠棣栧厛璁$畻鍑烘洸闱㈡暟鎹锛屾帴镌澶勭悊棰滆壊鏄犲皠銆佸彉鎹㈠拰涓夌淮绌洪棿镄勫姩镐佸𪾢绀恒傚埆蹇树简锛屽笕xes灞炴х殑璋冩暣锛屽傜绣镙肩嚎镙峰纺銆侀滆壊阃夋嫨鍜屾瘆渚嬶纴浠ュ强璁剧疆鐩告満浣岖疆锛岄兘鏄鍏抽敭镄勭粏鑺伞
阃氲繃浠ヤ笂浠g爜锛屾垜浠瀹炵幇浜嗕粠锘虹鐜鐟板埌链埚o纴鍐嶅埌镞嬭浆鐜鐟扮殑瑙呜夎浆鎹锛岃壊褰╃殑灞傛″拰阃忔槑搴︾殑璋冩暣锛岄兘浣垮缑姣忎竴链佃姳閮芥湁浜嗙嫭鐗圭殑鐢熷懡銆傝繖浜涗唬镰佺墖娈典笉浠呭𪾢绀轰简MATLAB镄勫己澶у姛鑳斤纴涔熸彮绀轰简涓夌淮锲惧舰鍒涗綔镄勮压链娼滃姏銆
㈥ 编程,计算所有的玫瑰花数的和,并计算它们的平均值。 要求,求和时,打印出具体的表达式。
如果一个四位数等于它的每一位数字的4次方之和,则称这个四位数为玫瑰花数,例如:8208
# include "stdio.h"
void main()
{
int a,b,c,d,num,count=0;
long sum=0;
for(a=1;a<9;a++)
for(b=0;b<9;b++)
for(c=0;c<9;c++)
for(d=0;d<9;d++)
{
num=a*1000+b*100+c*10+d;
if(num==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
{
count++;
sum+=num;
if(count>1)printf("+");
printf("%d",num);
}
}
printf("=%d\n平均值=%f\n",sum,sum*1.0/count);
}
运行结果:
1634+8208=9842
平均值=4921.000000