玫瑰花編程
㈠ 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